Skip to Content
CompanySpec
API referenceJob postings

List a company's job postings

GET
/companies/{company}/job-postings

Job postings of one company, newest first. Open postings by default; pass status=closed or status=all to include postings that have closed. Costs 1 lookup unless the company is already paid for this billing month; all of its postings are then free.

Authorization

bearerAuth
headerAuthorizationBearer <token>

Your API key, sent as Authorization: Bearer <key>. Create keys in the dashboard.

Path Parameters

company*string

The company's domain (for example stripe.com) or its CompanySpec id (for example cmp_8f2k1).

Query Parameters

status?string

open (default), closed or all. Closed postings stay available, with closed_on set.

Default"open"
Value in"open""closed""all"
job_function?string

A value from /values/job_functions.

seniority?string

A value from /values/job_seniorities.

limit?integer
Range1 <= value <= 100
Default25
cursor?string

The next_cursor from the previous page. Valid for 24 hours. Fetching later pages charges for new companies on them.

Response Body

Job postings.

application/json
  1. response
job_postings*array<>
next_cursor*|

Pass as cursor to get the next page. null when there are no more results.

usage*

What this request cost and what is left this billing month.

Example Request
curl -X GET 'https://api.companyspec.com/v1/companies/acmedental.io/job-postings'
Example Response
{  "job_postings": [    {      "id": "job_77x2a",      "title": "Senior Backend Engineer",      "job_function": "engineering",      "seniority": "senior",      "workplace_type": "remote",      "locations": [        "Austin, TX, United States"      ],      "posted_on": "2026-10-20",      "status": "open"    }  ],  "next_cursor": null,  "usage": {    "charged": {      "lookups": 1,      "discoveries": 0    },    "already_paid": 0,    "remaining": {      "lookups": 9749,      "discoveries": 1977    }  }}