Skip to content

Job Scraper 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.

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.
maxCostUsd Optional request-level spending ceiling, as a non-negative JSON number.

These fields belong to the flat operation request body, matching the planned Job Scraper REST and MCP input. See the sample request.

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.

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.

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.

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.