Job Scraper API design
Find public job listings that match a query and supported filters. This is not an applicant tracking system, candidate profile search or a completeness guarantee for all open roles.
Core inputs
Section titled “Core inputs”| Field | Meaning |
|---|---|
query |
Search text. |
country |
Country scope for the query. |
sources |
Explicit list of sources to search. Only released sources will be accepted. |
limit |
Total requested record limit, not a separate limit per source. |
allowPartial |
Whether incomplete delivery is acceptable. Default behavior does not silently permit it. |
maxCredits |
Optional request-level credit ceiling, as a non-negative JSON number. |
These fields belong to the planned flat REST and MCP operation body. The current workspace stores a smaller draft containing query, country, limit and maxCredits; it does not execute that contract. See the sample walkthrough. The product ID and route use job-scraper.
Source filters
Section titled “Source filters”Not every board supports the same filters. Unsupported filters cause refusal before execution unless the caller explicitly allows eligible sources to proceed. If no eligible sources remain, the request is refused.
Indeed, LinkedIn and Glassdoor are candidate sources. None is currently enabled; the first release will publish a validated support table.
Record shape
Section titled “Record shape”Records are designed to preserve source identity, title, URL and collection time. Optional information such as salary is represented honestly when absent. A missing value is not invented, and a missing salary period is not silently inferred.
Delivery and billing
Section titled “Delivery and billing”Job Scraper is planned to bill per eligible record delivered. A completed search with no matches has no charge. Failed or excluded sources remain visible in the response. All-or-nothing requests that cannot complete fail without billed partial delivery.
Long-running work
Section titled “Long-running work”The contract supports a completed response or an accepted task handle when work outlasts the synchronous window. Reading an existing task does not start another collection. Production timing, retention and limits will be listed before access opens.