{"tool":"company-hiring-signals","mcp_name":"company_hiring_signals","title":"Company Hiring Signals API: open roles, departments, locations","description":"Is a company hiring? Open roles by department, location and remote share, newest and oldest posting dates and top titles, plus job rows with a link each. Read from the company's public Greenhouse, Lever or Ashby job board. Look up by name, domain or board URL.","endpoint":"https://api.boscolabs.dev/v1/company-hiring-signals","event":"unit (company-summary=5, job=1)","price_usd_per_row":0.001,"caps":{"companies":5,"maxJobsPerCompany":200},"input_schema":{"type":"object","properties":{"companies":{"title":"Companies","type":"array","description":"Companies to check, 1-5 on the API: a name (\"Notion\"), a website domain (\"stripe.com\"), a job board URL (\"https://jobs.lever.co/spotify\", \"https://job-boards.greenhouse.io/airbnb\", \"https://jobs.ashbyhq.com/ramp\") or provider:token (\"greenhouse:stripe\", \"lever:spotify\", \"lever-eu:<token>\", \"ashby:notion\"). Names and domains are matched to likely board names on Greenhouse, Lever and Ashby; a board URL is exact. Required.","minItems":1,"maxItems":5,"items":{"type":"string","pattern":"^[^\\[\\]{}<>\\r\\n]*$"}},"departments":{"title":"Departments (optional)","type":"array","description":"Only count and return roles whose department or team has a word starting with one of these, case-insensitive, e.g. [\"engineering\", \"data\"]. Department names are each company's own (Stripe uses \"Tech\" and team codes), so `keywords` on the title is often more reliable. Empty = all departments.","items":{"type":"string","pattern":"^[^\\[\\]{}<>\\r\\n]*$"}},"locations":{"title":"Locations (optional)","type":"array","description":"Only roles whose location text, other locations or country contains one of these as whole words, case-insensitive (\"US\" does not match \"Australia\"), e.g. [\"London\", \"Germany\", \"remote\"]. Lever gives ISO country codes (\"GB\"), Ashby country names; Greenhouse has the location text only. Empty = all locations.","items":{"type":"string","pattern":"^[^\\[\\]{}<>\\r\\n]*$"}},"keywords":{"title":"Title keywords (optional)","type":"array","description":"Only roles whose job title has a word starting with one of these, case-insensitive (\"engineer\" matches \"Engineering\", \"ai\" not \"Retail\"), e.g. [\"engineer\", \"data scientist\"]. Empty = all titles.","items":{"type":"string","pattern":"^[^\\[\\]{}<>\\r\\n]*$"}},"postedSince":{"title":"Posted since (optional)","type":"string","description":"Only roles first published on or after this date: an ISO date (\"2026-10-01\") or a number of days back (\"30d\"). Greenhouse: first published; Lever: created; Ashby: last published. Empty = any date.","pattern":"^\\s*(\\d{4}-\\d{2}-\\d{2}|\\d{1,4}\\s*[Dd]?)?\\s*$"},"maxJobsPerCompany":{"title":"Job rows per company","type":"integer","minimum":0,"maximum":200,"default":50,"description":"Most job rows to return per company, newest first, e.g. 20. Default 50, maximum 200 on the API; 0 = summary only. The summary always counts all matching roles, whatever this limit. Each job row is charged."},"summaryOnly":{"title":"Summary only","type":"boolean","default":false,"description":"true = one summary row per company and no job rows (cheapest; answers \"is X hiring and where?\"). Default false."}},"required":["companies"]},"example_input":{"companies":["stripe.com","Notion","jobs.lever.co/spotify"],"maxJobsPerCompany":20},"example_rows":[{"schema_version":"1","row_type":"company_summary","company":"notion.so","found":true,"provider":"ashby","board_token":"notion","board_url":"https://jobs.ashbyhq.com/notion","source_url":"https://api.ashbyhq.com/posting-api/job-board/notion","total_open_roles":150,"matching_roles":16,"filters":{"keywords":["engineer"],"posted_since":"2026-09-06T00:00:00Z"},"by_department":[{"name":"Engineering","count":8},{"name":"Security","count":3},{"name":"Sales","count":2}],"by_location":[{"name":"San Francisco, California","count":11},{"name":"Dublin, Ireland","count":2},{"name":"Hyderabad, India","count":1}],"by_country":[{"name":"United States","count":12},{"name":"Ireland","count":2},{"name":"India","count":1}],"remote_share":0.0,"posted_last_30_days":6,"newest_posted_at":"2026-11-04T23:19:02Z","oldest_posted_at":"2026-09-08T20:54:37Z","top_titles":[{"title":"Security Engineer, Detection and Response","count":2},{"title":"Forward Deployed Engineer, India","count":1},{"title":"Security Engineer, Corporate Security","count":1}],"trend":null,"jobs_returned":3,"other_boards":[],"not_found_reason":null,"warnings":[],"retrieved_at":"2026-11-05T21:42:10Z"}],"output_fields":["schema_version","row_type","company","found","provider","board_token","board_url","source_url","total_open_roles","matching_roles","filters","by_department","by_location","by_country","remote_share","posted_last_30_days","newest_posted_at","oldest_posted_at","top_titles","trend","jobs_returned","other_boards","not_found_reason","warnings","job_id","title","department","team","location","other_locations","country","workplace_type","remote","employment_type","posted_at","updated_at","retrieved_at"],"sources":["Public, unauthenticated job-board APIs of Greenhouse (Job Board API: 'Job Board data is publicly available'), Lever (Postings API: published postings 'may be scraped by third parties'; robots.txt Crawl-delay 1 s respected) and Ashby (Public Job Posting API). The employers' own published postings; job descriptions are never stored or returned."]}