Skip to content

ZipRecruiter Scraper

Try for free

Scrape ZipRecruiter job listings by keyword and location or search URL: title, company, salary, location, remote, posted date, full description, apply link and company profile. No login needed.

💼 ZipRecruiter Scraper

Scrape ZipRecruiter job listings by keyword and location, from search URLs or single job pages. Get the title, company, salary (with yearly equivalents), location, remote type, benefits, posted date, apply link and, optionally, the full description plus the company profile. No login or account needed.

✨ Why use ZipRecruiter Scraper?

  • 🔍 Search like on the site — keyword, location, distance, posted date, salary range, employment type, remote/hybrid/on-site, experience level and 1-Click Apply filters.
  • 💵 Clean salary data — min and max as numbers, the pay period (hour, year, ...) and the yearly equivalent ZipRecruiter computes, ready for benchmarking.
  • 📄 Full details on demand — the full job description for every job, and optionally the company profile (size, industries, website, headquarters, social links, rating) plus education and experience requirements.
  • ⚡ Cheaper search-only mode — turn details off to get search-card data (incl. a short description) at a fraction of the price.
  • 🔓 No login — public listings only, no account, no cookies to manage. Cloudflare is handled for you.

🎯 Use cases

  • 📊 Salary benchmarking — compare pay ranges by title and city.
  • 🧲 Recruiting and lead generation — find companies that are hiring for a role in your area, with website and company size.
  • 📈 Labor-market research — track demand, remote share and benefits over time.
  • 🗂️ Job boards and alerts — feed fresh listings (posted in the last 24 hours) into your own site, sheet or Slack.

🚀 How to use

  1. Enter one or more search terms and a location (or paste ZipRecruiter search or job URLs).
  2. Set Max jobs and any filters.
  3. Keep Include full job details on for full descriptions (add Include company profile for company data), or turn it off for a cheaper card-only run.
  4. Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
searchesSearch terms, e.g. software engineer, registered nurse
locationUS city, state or ZIP, e.g. New York, NY (empty = nationwide)
maxItemsMaximum jobs to save in total
startUrlsZipRecruiter search URLs, job URLs or company job lists
radius5, 10, 25, 50 or 100 miles
postedWithin1, 5, 10 or 30 days
salaryMin / salaryMaxYearly salary range in USD
employmentTypefull_time, part_time, contract, temporary, internship, ...
remoteremote, hybrid or onsite
experienceLevelno_experience, junior, mid, senior
easyApplyOnlyOnly 1-Click Apply jobs
companyNameKeep only companies whose name contains this text
includeDetailsOpen each job page for the full description (default on)
includeCompanyProfileAlso collect company profile, education and experience requirements
{
  "searches": ["registered nurse"],
  "location": "Chicago, IL",
  "maxItems": 200,
  "postedWithin": "5",
  "employmentType": ["full_time"],
  "includeDetails": true
}

📤 Output

FieldDescription
title, company, url, openSeatIdJob title, employer, job page and ZipRecruiter job id
location, city, state, county, postalCode, countryWhere the job is
isRemote, locationTypeIN_PERSON, REMOTE or HYBRID
employmentType, employmentTypese.g. FULL_TIME
salaryText, salaryMin, salaryMax, salaryInterval, salaryMinAnnual, salaryMaxAnnual, salaryCurrencyPay as shown and as numbers
benefitsListed benefits
postedAt, postedAgo, validThrough, isActiveDates and status
easyApply, applyUrlHow to apply
shortDescriptionSnippet from the search card
description, descriptionMarkdownFull description (details on); descriptionHtml with the company profile option
industry, category, educationLevel, experienceMonths, keyResponsibilities, employerJobId, validThroughRequirements and classification (company profile option)
companyWebsite, companySize, companyIndustries, companyHeadquarters, companyAbout, companyRating, social linksCompany profile (company profile option)
detailsIncluded, searchQuery, searchLocation, scrapedAtRun context
{
  "id": "M8ynRtPAgN_EmuSPWk-uzQ",
  "openSeatId": "79832deae36cda35",
  "url": "https://www.ziprecruiter.com/c/Endeavor-Health/Job/Registered-Nurse/-in-Chicago,IL?jid=79832deae36cda35",
  "title": "Registered Nurse",
  "company": "Endeavor Health",
  "location": "Chicago, IL",
  "postalCode": "60625",
  "isRemote": false,
  "locationType": "IN_PERSON",
  "employmentType": "FULL_TIME",
  "salaryText": "$37.25 - $57.74/hr",
  "salaryMin": 37.25,
  "salaryMax": 57.74,
  "salaryInterval": "HOUR",
  "salaryMinAnnual": 74500,
  "salaryMaxAnnual": 115480,
  "benefits": ["Medical", "Vision", "Dental", "Paid Time Off", "Retirement"],
  "postedAt": "2026-10-12T07:00:00Z",
  "easyApply": false,
  "description": "Hourly Pay Range: $37.25 - $57.74 ...",
  "descriptionMarkdown": "**Hourly Pay Range:** $37.25 - $57.74 ...",
  "detailsIncluded": true
}

💰 Pricing

  • $3.00 per 1,000 jobs with full details (default).
  • $0.80 per 1,000 jobs when full details are turned off.
  • Platform usage (compute and the hosted browser that passes ZipRecruiter's Cloudflare check) is added on top. It is small with the default settings; the company profile option adds about $1 per 1,000 jobs of browser traffic.

Example: 1,000 jobs with full descriptions ≈ $3.00 plus usage. A job whose detail page can't be loaded is saved with card data and charged the lower price.

❓ FAQ

Is it legal to scrape ZipRecruiter? The actor collects only public job listings that anyone can see without logging in. Make sure your use complies with ZipRecruiter's terms and the laws that apply to you.

Do I need a login or proxy? No. The actor uses a hosted browser with US exits, so there's nothing to configure.

How many jobs can I get? ZipRecruiter shows up to about 1,000 jobs per search (50 pages). Split big searches by location or filters to collect more.

Why is the salary empty for some jobs? Not every employer lists pay. When ZipRecruiter shows an estimate, salaryEstimated is true.

Can I schedule it or use the API? Yes. Schedule a daily run with postedWithin: "1" to collect new jobs, and read the dataset through the API or integrations.

⚠️ Limits

  • United States listings (ziprecruiter.com) only.
  • Up to about 1,000 jobs per search, as on the website.
  • Apply links point to ZipRecruiter's redirect page, which forwards to the employer.
  • Salary and benefit data are what the listing shows; some are parsed or estimated by ZipRecruiter.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.