ZipRecruiter Jobs Scraper avatar

ZipRecruiter Jobs Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
ZipRecruiter Jobs Scraper

ZipRecruiter Jobs Scraper

Scrape job listings from ZipRecruiter (ziprecruiter.com) - title, company, location, salary, employment type, and posted date - by keyword and location.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

MrDoe

MrDoe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

ZipRecruiter Jobs Scraper hero

What does ZipRecruiter Jobs Scraper do?

ZipRecruiter Jobs Scraper extracts job listings from ZipRecruiter - title, company, location, salary, employment type, and posted date. Point it at a keyword/location or a ZipRecruiter search URL and it scrapes every listing on the results, following pagination automatically until it has enough.

How to use ZipRecruiter Jobs Scraper

How ZipRecruiter Jobs Scraper works

  1. Click Try for free (or Start) to open the Actor.
  2. Either:
    • Set Keyword and Location to have the Actor build a search for you, or
    • Go to ziprecruiter.com, search for the role/location you want, and paste the resulting URL into Start URLs (this takes priority when set).
  3. Optionally set Max jobs per start URL and Max search result pages.
  4. Click Start and wait for the run to finish, then open the Dataset tab to view, filter, and export the results.

Input

ZipRecruiter Jobs Scraper input options

FieldTypeDescription
startUrlsarray (optional)ZipRecruiter job search result page URLs. Takes priority over keyword/location.
keywordstring (optional)Job title/skill/keyword. Used to build a search URL when startUrls is empty.
locationstring (optional)City, state, or "Remote". Used to build a search URL when startUrls is empty.
maxItemsinteger (optional)Maximum job listings per start URL/search. Defaults to 20.
maxPagesinteger (optional)Safety cap on search result pages to paginate through. Defaults to 3.
proxyConfigurationobject (optional)Proxy settings. Residential is on by default and required - see below.

See the Input tab for the full schema.

Output

ZipRecruiter Jobs Scraper dataset output

ZipRecruiter Jobs Scraper data fields

Each dataset item looks like this:

{
"jobId": "d3421dba1e59051b",
"title": "Senior Distinguished AI Engineer",
"company": "Capital One",
"location": "Manhattan, NY",
"salaryText": "$134K - $177K/yr",
"employmentType": "Full-time",
"postedText": "17 hours ago",
"postedDate": "2026-08-23",
"url": "https://www.ziprecruiter.com/c/Capital-One/Job/Senior-Distinguished-AI-Engineer/-in-Manhattan,NY?jid=d3421dba1e59051b"
}

Data table

FieldDescription
jobIdZipRecruiter's internal job ID (the jid on the listing URL)
titleJob title
companyHiring company name
locationJob location as shown on the listing
salaryTextSalary range as shown on the card, null if ZipRecruiter doesn't show one
employmentTypee.g. "Full-time", "Part-time", "Contract" - null if not shown
postedTextRaw "how long ago posted" text (e.g. "17 hours ago", "13 days ago")
postedDatepostedText converted to an approximate ISO date, null if unrecognized
urlLink to the live listing

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Why this Actor requires a Residential proxy

ZipRecruiter sits behind a Cloudflare managed challenge. In live testing, a plain HTTP request and a browser without proxy+stealth both got an interstitial "Just a moment..." page instead of results, and Apify's default/datacenter proxy pool was blocked on every attempt. A stealth (Camoufox/hardened-Firefox) browser session on a Residential proxy group passed on every attempt tested. That's why proxyConfiguration defaults to Residential rather than the usual Apify auto-proxy - turning it off will likely make every request fail.

Tips

  • Add multiple start URLs (different roles/locations) to cover more ground in a single run.
  • Not every listing shows a salary or employment type on ZipRecruiter - those fields come back null when the site doesn't display them.
  • location accepts city/state text (e.g. "Austin, TX") or "Remote", same as ZipRecruiter's own search box.

FAQ, disclaimers, and support

This Actor only collects publicly listed ZipRecruiter data. It is not affiliated with or endorsed by ZipRecruiter. Respect ZipRecruiter's Terms of Service when using the scraped data. Found a bug or have a feature request? Use the Issues tab on this Actor's page. Custom scraper solutions are also available on request.