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

2 catalogue Actors 8 other Store tools Official API: Partner only Lowest rate  $0.99 per 1K

What do you need from ZipRecruiter?

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.

Route diagram for ZipRecruiter dataZipRecruiter Jobs with Full Description Extractor: stops at 6 of the 10 fields shown; ZipRecruiter Job Search Results & Salary Scraper: stops at 6 of the 10 fields shown; Other Store tools (7): stops at 10 of the 10 fields shown; ZipRecruiter partner APIs: partner, field coverage not compared.ZipRecruitertitlecompanylocationsalarydescriptionurlemploymentTypechangeTypedatePostedcontactEmail12+API

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,…

6/6 core fields 54 output fields $0.99 per 1K Open in Apify Store

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…

6/6 core fields 76 output fields $0.99 per 1K Open in Apify Store

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.

Catalogue Actors for ZipRecruiter by job, with the fields only each one returns
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.

Which tools return each core ZipRecruiter field, from published output schemas
TooltitlecompanylocationsalarydescriptionurlFields
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 it999959

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.

Output keys for each core ZipRecruiter field in the top catalogue Actors
Core field ZipRecruiter Jobs with Full…ZipRecruiter Job Search…
title titletitle, relatedTitles
company companycompany
location location, city, companyHqLocationcompanyHqLocation, location, city
salary salary, salaryMin, salaryMaxsalary, salaryMin, salaryMax
description description, descriptionHtml, shortDescriptiondescription, descriptionHtml, shortDescription
url url, companyUrlurl, 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.

Catalogue Actors for ZipRecruiter, ranked by the published method
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.

Other Store tools for ZipRecruiter, for reference
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.

Official documentation

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

  1. Configure a small collection for a narrowly defined hiring market and review the documented result charges before starting it.
  2. 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

Sources

Text updated 2026-11-12 Data checked 2026-11-12
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.

Open in Apify Store