ZipRecruiter: scrapers and the official API, compared
US job listings with salary and full-description data.
Short answer
For most ZipRecruiter jobs, start with ZipRecruiter Jobs with Full Description Extractor: it covers 6 of 6 core fields (title, company, location, salary and 2 more) at $0.99 per 1,000 results on Apify's Free plan. The top published score for ZipRecruiter goes to Job Scraper for ZipRecruiter by blackfalcondata (98 of 100), a Store tool from another publisher, listed for reference.
From published Store listings, output schemas and the official documentation. Checked 2026-11-12. How the ranking works.ZipRecruiter Jobs with Full Description Extractor: inputs, code and costOpen in Apify Store
What do you need from ZipRecruiter?
- Find job openings ZipRecruiter Jobs with Full Description Extractor 10,000 results: $10.30 on Free, incl. $0.40 start, plus Apify platform usage (compute)
- Find job postings ZipRecruiter Job Search Results & Salary Scraper Only this one: isNew, skills, occupationalCategory 10,000 results: $10.30 on Free, incl. $0.40 start, plus Apify platform usage (compute)
Route map
Each line is one way to get ZipRecruiter data; each stop is a field you probably need. Green lines are catalogue Actors, ranked by the published formula.
- 1 ZipRecruiter Jobs with Full Description Extractor 54 output fields, pay per event 6 of 6 core fields
$0.99 / 1K - 2 ZipRecruiter Job Search Results & Salary Scraper 76 output fields, pay per event 6 of 6 core fields
$0.99 / 1K - + 7 other Store tools, combined Reference only 6 of 6 core fields
from $0.99 / 1K - API ZipRecruiter partner APIs Partner only fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Catalogue Actors for ZipRecruiter
ZipRecruiter Jobs with Full Description Extractor
Search ZipRecruiter by keyword and location, or a direct search URL, and get each job's full description text alongside company, location, salary,…
ZipRecruiter Job Search Results & Salary Scraper
Extract job postings from ZipRecruiter.com search results - title, company, location, parsed salary range, city, state, and apply URL. Search by…
Which route for which job
The catalogue Actors for ZipRecruiter return different records. "Only this route" lists the published fields no other Actor in this table returns, which is usually what decides the choice. Cost is the published per-result rate; start events and platform usage are extra.
| Actor | Good for | Only this route | Core fields | 10K results |
|---|---|---|---|---|
| ZipRecruiter Jobs with Full Description Extractor | Find job openings | no unique fields | 6/6 | $9.90 |
| ZipRecruiter Job Search Results & Salary Scraper | Find job postings | isNew, skills, occupationalCategory | 6/6 | $9.90 |
Field matrix: who returns what
Every tool with a published output schema, against the 6 fields most ZipRecruiter jobs need. A dot means the field name appears in the schema; rows can still leave it empty.
| Tool | title | company | location | salary | description | url | Fields |
|---|---|---|---|---|---|---|---|
| ZipRecruiter Jobs with Full Description Extractor | ● | ● | ● | ● | ● | ● | 6/6 |
| ZipRecruiter Job Search Results & Salary Scraper | ● | ● | ● | ● | ● | ● | 6/6 |
| Job Scraper for ZipRecruiterReference only, by blackfalcondata | ● | ● | ● | ● | ● | ● | 6/6 |
| ZipRecruiter Jobs ScraperReference only, by silentflow | ● | ● | ● | ● | – | ● | 5/6 |
| ZipRecruiter Jobs ScraperReference only, by memo23 | ● | ● | ● | ● | – | ● | 5/6 |
| Scraper for ZipRecruiterReference only, by logiover | ● | ● | ● | ● | ● | ● | 6/6 |
| ZipRecruiter ScraperReference only, by memo23 | ● | ● | ● | ● | – | ● | 5/6 |
| Ziprecruiter Jobs ScraperReference only, by orgupdate | ● | ● | ● | ● | – | ● | 5/6 |
| ZipRecruiter ScraperReference only, by thirdwatch | ● | ● | ● | ● | ● | ● | 6/6 |
| Tools returning it | 9 | 9 | 9 | 9 | 5 | 9 |
Field dictionary: the exact keys
The same core field has a different key in each Actor's output. Map these before you merge datasets; a dash means the published schema has no matching key. Need a field that is not listed here, such as email? Search every ZipRecruiter Actor by field.
| Core field | ZipRecruiter Jobs with Full… | ZipRecruiter Job Search… |
|---|---|---|
| title | title | title, relatedTitles |
| company | company | company |
| location | location, city, companyHqLocation | companyHqLocation, location, city |
| salary | salary, salaryMin, salaryMax | salary, salaryMin, salaryMax |
| description | description, descriptionHtml, shortDescription | description, descriptionHtml, shortDescription |
| url | url, companyUrl | url, companyUrl, salaryUrl |
Download this comparison: CSV · JSON (every tool with a published schema, matching keys per core field, price and score).
All 10 tools, scored
Catalogue Actors link to their detail pages; the score (0 to 100) is the published formula, identical for every tool. Other Store tools follow in their own table, for reference. Price is the published primary-result rate per 1,000 (the Free-plan rate where the price is tiered; higher Apify plans pay less); start events and platform usage are excluded.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 94 | ZipRecruiter Jobs with Full Description Extractor Catalogue Actor, pay per event | title, company, location | 54 | $0.99 | 100% of 29 runs | Oct 2026 |
| 88 | ZipRecruiter Job Search Results & Salary Scraper Catalogue Actor, pay per event | title, company, companyHqLocation | 76 | $0.99 | 9 runs, too few to rate | Nov 2026 |
Other Store tools, for reference
Scored with the same published formula and listed for comparison only; this site does not link or recommend them.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 98 | Job Scraper for ZipRecruiter Reference only, by blackfalcondata | title, company, location | 42 | $0.99 | 99% of 807 runs | Nov 2026 |
| 95 | ZipRecruiter Jobs Scraper Reference only, by silentflow | title, company, location | 7 | $0.99 | 100% of 1,964 runs | Nov 2026 |
| 93 | ZipRecruiter Jobs Scraper Reference only, by memo23 | title, company, location | 16 | $2.50 | 97% of 890 runs | Nov 2026 |
| 91 | Scraper for ZipRecruiter Reference only, by logiover | title, company, location | 56 | $3.00 | 100% of 47 runs | Nov 2026 |
| 91 | ZipRecruiter Scraper Reference only, by memo23 | title, company, location | 16 | $2.50 | 99% of 1,020 runs | Nov 2026 |
| 87 | Ziprecruiter Jobs Scraper Reference only, by orgupdate | job_title, company_name, location | 7 | $5.00 | 73% of 498 runs | Nov 2026 |
| 76 | ZipRecruiter Scraper Reference only, by thirdwatch | title, company, location | 8 | $18 | 91% of 32 runs | Oct 2026 |
| 74 | ZipRecruiter Scraper Reference only, by fatihtahta | No published schema | – | $1.00 | 100% of 1,173 runs | Jul 2026 |
What to check before you choose
ZipRecruiter listings help recruiting and research teams follow hiring demand by employer, role and location. For compensation work, the useful distinction is between pay attached to a vacancy and a separate salary benchmark.
A full-description extractor suits work that needs vacancy text, subject to confirming that output in the published schema. The search-and-salary route distinguishes job and salary records and lists company attributes, while official integrations require partner approval and contract terms.
Checklist
- Confirm description and salary output before choosing by title.
- Choose an identity rule before combining runs. The full-description extractor describes listingKey as a stable listing key, while the search-and-salary tool describes id as an open seat identifier, listing key or canonical URL.
- Separate job and salary records using recordType when available. Check whether company attributes are populated on the records you intend to use for employer analysis.
Where the data is incomplete
A tool's compensation use case does not confirm that every vacancy includes usable pay information.
Listing identity also needs care: jid, listingKey and matchId describe different identifiers, and the search-and-salary tool permits several forms of id. Neither the schema nor a successful collection establishes that the results cover every relevant opening or that every listing remains active.
Official API route
ZipRecruiter partner APIs
ZipRecruiter offers partner and distribution integrations. There is no open public job search API.
Price. Partner terms.
Limits. Approval and contract limits apply.
Terms and personal data
Limit collection to public job listings and review ZipRecruiter's terms before storing or republishing vacancy content. Partner integrations also require compliance with their approval and contract conditions. This is general information, not legal advice.
Read ZipRecruiter's terms. Keep to public data, do not bypass logins or access controls, and check whether personal data is involved before you collect it. The can-I-scrape checklist walks through it.
How to start
- Configure a small collection for a narrowly defined hiring market and review the documented result charges before starting it.
- Inspect title, company, location and url, confirm whether the needed description and salary content is present, and export the records with their listing identifiers.
Call ZipRecruiter Jobs with Full Description Extractor from code
The example input uses the Actor's published defaults; set your own ZipRecruiter query before you run it. You need an Apify API token.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"startUrls": [
"https://www.ziprecruiter.com/jobs-search?search=software+engineer&location=New+York%2C+NY"
],
"searchQueries": [],
"locations": [],
"jobType": "any",
"workplace": "any",
"remoteOnly": False,
"experienceLevels": [],
"daysPosted": 0,
"radiusMiles": 0,
"salaryMin": 0,
"salaryMax": 0,
"quickApplyOnly": False,
"fetchDescriptions": True,
"maxItems": 3,
"maxSearches": 100
}
run = client.actor("dataspryva/ziprecruiter-jobs-with-full-description-extractor").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"startUrls": [
"https://www.ziprecruiter.com/jobs-search?search=software+engineer&location=New+York%2C+NY"
],
"searchQueries": [],
"locations": [],
"jobType": "any",
"workplace": "any",
"remoteOnly": false,
"experienceLevels": [],
"daysPosted": 0,
"radiusMiles": 0,
"salaryMin": 0,
"salaryMax": 0,
"quickApplyOnly": false,
"fetchDescriptions": true,
"maxItems": 3,
"maxSearches": 100
};
const run = await client.actor("dataspryva/ziprecruiter-jobs-with-full-description-extractor").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/dataspryva~ziprecruiter-jobs-with-full-description-extractor/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"startUrls":["https://www.ziprecruiter.com/jobs-search?search=software+engineer&location=New+York%2C+NY"],"searchQueries":[],"locations":[],"jobType":"any","workplace":"any","remoteOnly":false,"experienceLevels":[],"daysPosted":0,"radiusMiles":0,"salaryMin":0,"salaryMax":0,"quickApplyOnly":false,"fetchDescriptions":true,"maxItems":3,"maxSearches":100}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=dataspryva/ziprecruiter-jobs-with-full-description-extractor",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
Questions people ask
Is there an open public ZipRecruiter job search API?
ZipRecruiter offers partner and distribution integrations rather than an open public job search API. Access depends on approval and contract limits.
Does the full-description extractor guarantee vacancy text?
Confirm the documented output and inspect a small collection before relying on it for text analysis.
Which identifier should I use to remove duplicates?
The full-description extractor describes listingKey as a stable listing key, making it a useful starting point for comparing its results. Check the meaning of id before combining tools because the search-and-salary tool can derive it from different identifiers or a canonical URL.
Can I combine salary benchmarks with advertised job pay?
Keep salary records separate from job records using recordType where available. Confirm what each amount represents and its pay period before making a compensation comparison.
What is the cheapest catalogue Actor for ZipRecruiter data?
ZipRecruiter Jobs with Full Description Extractor lists $0.99 per 1,000 results (pay per event), with 54 fields in its published output schema. Start events and platform usage are billed separately. Checked 2026-11-12.
Which ZipRecruiter scraper returns the most core fields?
ZipRecruiter Jobs with Full Description Extractor covers 6 of the 6 core ZipRecruiter fields this page tracks (title, company, location, salary, description, url), based on its published output schema.
Does ZipRecruiter have an official API?
Partner only: ZipRecruiter offers partner and distribution integrations. There is no open public job search API. Partner terms.
Is it legal to scrape ZipRecruiter?
It depends on what you collect and how. Limit collection to public job listings and review ZipRecruiter's terms before storing or republishing vacancy content. Partner integrations also require compliance with their approval and contract conditions. Read ZipRecruiter's terms (https://www.ziprecruiter.com/terms) before you collect, and check whether personal data is involved. This is general information, not legal advice.
More on ZipRecruiter
Related websites
- Indeed2 Actors
- SimplyHired1 Actor
Sources
- ZipRecruiter Jobs with Full Description Extractor on Apify Store
- ZipRecruiter Job Search Results & Salary Scraper on Apify Store
- ZipRecruiter partner APIs documentation
- ZipRecruiter terms
Cite this page
Scraper Finder. "How to get ZipRecruiter data." https://scraperfinder.com/sites/ziprecruiter/ (data checked 2026-11-12).
Highest-scoring catalogue Actor
ZipRecruiter Jobs with Full Description Extractor: 6 of 6 core fields, $0.99 per 1,000 results, score 94. The highest score overall is 98 (Job Scraper for ZipRecruiter, a Store tool from another publisher); both are in the table above.