Get a job posting
The full job posting, open or closed (status and closed_on show which).
Costs 1 lookup for its company unless already paid for this billing month.
bearerAuthAuthorizationBearer <token>Your API key, sent as Authorization: Bearer <key>. Create keys in the dashboard.
id*stringA job posting id from the job posting list or search endpoints.
Job posting.
application/json- response
job_posting*usage*What this request cost and what is left this billing month.
curl -X GET 'https://api.companyspec.com/v1/job-postings/job_77x2a'{ "job_posting": { "id": "job_77x2a", "company": { "id": "cmp_19ad3", "domain": "acmedental.io", "name": "AcmeDental", "logo_url": null }, "title": "Senior Backend Engineer", "normalized_title": "backend engineer", "job_function": "engineering", "seniority": "senior", "employment_type": "full_time", "workplace_type": "remote", "locations": [ "Austin, TX, United States" ], "salary": { "min": 150000, "max": 180000, "currency": "USD", "period": "year" }, "technologies": [ "python", "postgresql", "aws" ], "experience_years": 5, "education": null, "benefits": [ "health insurance", "401k" ], "visa_sponsorship": false, "summary": "Build the scheduling and billing services behind AcmeDental's practice management platform.", "url": "https://jobs.example.com/acmedental/77x2a", "posted_on": "2026-10-20", "closed_on": null, "status": "open" }, "usage": { "charged": { "lookups": 0, "discoveries": 0 }, "already_paid": 1, "remaining": { "lookups": 9750, "discoveries": 1977 } }}List a company's job postings GET
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.
Search job postings POST
Search job postings across companies. Results are grouped by company, newest postings first, and include only the postings that match (up to 10 per company). Costs 1 discovery per company returned that isn't already paid for this billing month. That covers all of that company's postings: listing them with `GET /companies/{company}/job-postings` is then free.