Scrape jobs from LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, BDJobs, and
Scrape jobs from LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, BDJobs, and Naukri in one call.
170000 (raw units)
price
2
calls / 30d
2
unique payers
2026-09-09
updated
Provider
hirescrape.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xb5194A98DbDBb7028B585Db26B972e7F0F3f826A",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "170000",
"maxTimeoutSeconds": 60
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"hoursOld": 72,
"isRemote": true,
"location": "San Francisco, CA",
"maxResults": 20,
"searchTerm": "senior backend engineer",
"sites": [
"linkedin",
"indeed",
"glassdoor"
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"duration": 12,
"items": [
{
"company": "Acme AI",
"datePosted": "2026-04-17",
"description": "Design and build pay-per-call APIs…",
"jobType": "Full-time",
"jobUrl": "https://www.linkedin.com/jobs/view/4100000",
"location": "San Francisco, CA (Remote)",
"salary": "$180K–$240K",
"site": "linkedin",
"title": "Senior Backend Engineer"
}
],
"payment": {
"amount": "0.210000",
"currency": "USD",
"protocol": "x402"
},
"runId": "mo4jobsexample"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Scrape jobs from LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, BDJobs, and Naukri in one call.",
"properties": {
"countryIndeed": {
"default": "usa",
"description": "Country code for Indeed/Glassdoor (usa, uk, canada, etc).",
"type": "string"
},
"descriptionFormat": {
"default": "markdown",
"description": "Output format for job descriptions.",
"enum": [
"markdown",
"html"
],
"type": "string"
},
"distance": {
"default": 50,
"description": "Radius in miles from location.",
"maximum": 200,
"minimum": 0,
"type": "integer"
},
"easyApply": {
"default": false,
"description": "Only easy-apply jobs.",
"type": "boolean"
},
"enforceAnnualSalary": {
"default": false,
"description": "Normalize salary to annual.",
"type": "boolean"
},
"googleSearchTerm": {
"description": "Custom query for Google Jobs only.",
"type": "string"
},
"hoursOld": {
"description": "Only jobs posted in last N hours.",
"maximum": 8760,
"minimum": 1,
"type": "integer"
},
"isRemote": {
"default": false,
"description": "Remote-only.",
"type": "boolean"
},
"jobType": {
"default": "",
"description": "Filter by employment type.",
"enum": [
"",
"fulltime",
"parttime",
"contract",
"internship",
"temporary"
],
"type": "string"
},
"linkedinCompanyIds": {
"description": "Restrict LinkedIn to specific company IDs.",
"items": {
"type": "string"
},
"type": "array"
},
"linkedinFetchDescription": {
"default": false,
"description": "Fetch full LinkedIn job descriptions.",
"type": "boolean"
},
"location": {
"description": "City, state, country, or 'Remote'. Empty = global.",
"type": "string"
},
"maxResults": {
"default": 20,
"description": "Max jobs per board (1-100).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Skip first N results (pagination).",
"minimum": 0,
"type": "integer"
},
"searchTerm": {
"description": "Job title, keyword, or skill.",
"type": "string"
},
"sites": {
"default": [
"linkedin",
"indeed",
"glassdoor",
"google",
"zip_recruiter",
"bayt",
"bdjobs",
"naukri"
],
"description": "Boards: linkedin, indeed, glassdoor, google, zip_recruiter, bayt, bdjobs, naukri.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"searchTerm"
],
"title": "Multi Job Board Scraper",
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"duration": {
"description": "Run duration in seconds.",
"type": "integer"
},
"items": {
"description": "Scraped items. Shape varies per tool — see each tool's outputSample for a concrete example.",
"items": {
"type": "object"
},
"type": "array"
},
"payment": {
"description": "Settlement summary (protocol, amount, currency).",
"type": "object"
},
"runId": {
"description": "Run ID for debugging/audit.",
"type": "string"
}
},
"required": [
"items"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://hirescrape.com/api/tools/jobs" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://hirescrape.com/api/tools/jobs");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://hirescrape.com/api/tools/jobs")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8852.json, and this resource appears in /discovery/resources and /discovery/search.