Job Monkey

companies (free)

GET /v1/companies

Companies in GUID order for a cut, or by GUID (`guid=a,b,c`)

Every company in GUID order for a cut (a country cut keeps the companies with an open job there and their parents, judged now; a system cut uses the company's ats), or by GUID with guid=a,b,c (up to 1,000). The cursor is the last company_guid.

Charged: nothing.

Parameters

NameTypeDefaultAllowedWhat
countrylistnonecountry namescompanies with an open job there
systemlistnoneATS namesthe company's ats
cursortextnonea company_guid (the next of the previous page)the page after this GUID
limitinteger10001 to 1000companies a page
guidlistnonecompany GUIDs, up to 1,000by GUID instead of a page

An unknown parameter is a 400 bad_request. country and system take one value, a comma list (country=Canada,Mexico) or a repeat (country=Canada&country=Mexico); the country is its English name as the data holds it; the system is the ATS name (greenhouse, lever.co, workday, ...): /v1/jobs/count lists the sizes, /docs/sizes shows them.

Answer

{
 "companies": [
  {
   "company_guid": "<guid>",
   "name": "...",
   "slug": "...",
   "url": "...",
   "size": "...",
   "industry": "...",
   "locations": [],
   "ats": "greenhouse",
   "ats_site": null,
   "board_name": "...",
   "parent_company_guid": null,
   "slug_verified": true
  }
 ],
 "missing": [],
 "next": "<company_guid or null>",
 "more": true
}

Example

curl -s 'https://api.jobmonkey.ai/v1/companies?country=Canada&system=greenhouse&limit=1' -H 'Authorization: Bearer cb_live_XXXXXXXX'
{
 "companies": [
  {
   "company_guid": "694466b8-8292-40bc-9027-86ce3422df15",
   "name": "Porsche Long Beach",
   "slug": "porschelongbeach",
   "url": "https://www.porschesocal.com",
   "size": "11-50 employees",
   "industry": "Manufacturing",
   "locations": [],
   "ats": "greenhouse",
   "ats_site": null,
   "board_name": "Porsche Long Beach",
   "parent_company_guid": null,
   "slug_verified": true
  }
 ],
 "missing": [],
 "next": "694466b8-8292-40bc-9027-86ce3422df15",
 "more": true
}

In Python

import json, urllib.request

KEY = "cb_live_XXXXXXXX"
req = urllib.request.Request("https://api.jobmonkey.ai/v1/companies?country=Canada&system=greenhouse&limit=1", headers={"Authorization": f"Bearer {KEY}"})
with urllib.request.urlopen(req) as r:
    answer = json.load(r)
    print(r.headers.get("X-Request-Id"), r.headers.get("X-Units-Charged"))
print(json.dumps(answer, indent=1)[:800])

Errors

  • 400 bad_request (a bad GUID or cursor)
  • 401 no_key / bad_key / account_off
  • 413 too_many_guids
  • 429 rate_limited
  • 429 plan_exhausted (free key, 10 a day)

Headers

  • X-Request-Id
  • X-Units-Charged
  • RateLimit (limit=10, remaining=n, reset=s)
  • RateLimit-Policy (10;w=1, plus 10;w=86400 on a free key calling a free route)
  • X-Plan-Jobs-Remaining (the full feed and snapshots, when the plan has a cap)
  • X-Account: past_due (while an invoice is unpaid)

Every answer carries X-Request-Id; quote it to [email protected]. Times are UTC, ISO 8601.