Job Postings Scraper for ZipRecruiter avatar

Job Postings Scraper for ZipRecruiter

Pricing

from $13.99 / 1,000 result items

Go to Apify Store
Job Postings Scraper for ZipRecruiter

Job Postings Scraper for ZipRecruiter

Scrape ZipRecruiter job postings and salary data in the US, Canada, UK, Ireland, Germany, France, Australia, India and NZ: company, pay, location, description. Independent tool, not affiliated with, endorsed by, or sponsored by ZipRecruiter, Inc. All trademarks belong to their respective owners.

Pricing

from $13.99 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 hours ago

Last modified

Share

ParseForge

Job Postings Scraper for ZipRecruiter

⚠️ Independent tool. This Actor is not affiliated with, endorsed by, or sponsored by ZipRecruiter, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

Scrape ZipRecruiter job postings and salary data in the United States, Canada, the United Kingdom, Ireland, Germany, France, Australia, India and New Zealand, by keyword, location, or URL. Every posting returns title, company, location, pay range as numbers (minimum, maximum, currency, period, and the annual equivalent), employment type, workplace type, benefits, and posting date. Turn on full descriptions to add the complete job text. Export to CSV, JSON, Excel, or XML.

ZipRecruiter is one of the largest job boards in the United States, and it runs separate sites for eight other countries. This Actor covers all of them from one input: pick a country, type a job title and a location, and it returns every matching job in one consistent schema. In the United States and Canada it uses ZipRecruiter's own filters for date posted, workplace, employment type, experience level, salary range, and Quick Apply, so the results match what a candidate sees on the site.

Who uses itWhat they scrape ZipRecruiter for
Recruitment agenciesA live feed of every new role in their niche, city by city, without checking the site by hand.
Compensation and market researchersPay ranges as numbers, normalized to an annual figure, to compare roles, cities, and seniority levels.
Job boards and aggregatorsFresh listings with full descriptions and apply links to publish on their own platform.
Sales and business development teamsCompanies hiring for specific roles right now, as a signal for lead generation.

What it does

This Actor searches ZipRecruiter the way a candidate does and returns each job as a flat row. It can also open every job page to add the full description.

  • 🌎 Nine countries in one Actor: the United States and Canada on ziprecruiter.com, plus the UK, Ireland, Germany, France, Australia, India, and New Zealand sites.
  • 🔍 Keyword and location search: a job title like "nurse" or "software engineer" and a location like "Austin, TX", "Toronto, ON" or "Manchester". Leave the location empty to search the whole country.
  • 💰 Pay as numbers: salaryMin, salaryMax, salaryCurrency, salaryPeriod (hour, week, month, year), and salaryMinAnnual / salaryMaxAnnual so hourly and yearly pay can be compared directly.
  • 🎛️ ZipRecruiter's own filters in the US and Canada: posted within N days, radius in miles, remote / hybrid / on-site, employment type, experience level, minimum and maximum annual salary, and Quick Apply only.
  • 📋 Direct URL input: paste search URLs with filters already applied, or individual job URLs, from any of the nine sites. One run can mix countries.
  • 📄 Full job descriptions: the complete text and the original HTML, plus share links and, when the posting has them, requirements, skills, and a contact email.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with ZipRecruiter job postings and salary data

📈 Track pay by role and city.

A compensation analyst pulls every "registered nurse" job in Dallas, Houston, and Austin each week and charts salaryMinAnnual and salaryMaxAnnual by city, with hourly and yearly postings on the same scale.

🏢 Power a remote jobs board.

A remote-work job board pulls ZipRecruiter remote jobs every day with the Remote filter and "posted within 1 day", adds full descriptions and apply links, and republishes the listings.

🎯 Find companies that are hiring.

A sales team searches "sales manager" across the US every Monday, groups the results by companyName, and prioritizes outreach to the companies with the most open roles.

🌍 Compare markets across countries.

A research firm runs the same job title in the US, the UK, Germany, and Australia and compares volume, pay, and remote share between markets.

Why choose this scraper

What you get
Every ZipRecruiter marketThe US, Canada, and all seven international ZipRecruiter sites from one Actor and one schema.
Pay you can compute withNumeric minimum and maximum with currency and period, an annual equivalent, and where the figure came from (salarySource).
The site's own filtersDate posted, radius, workplace, employment type, experience level, salary range, and Quick Apply in the US and Canada.
Full descriptions on demandComplete job text and HTML when you need it; fast search-only runs when you don't.
No login, no API keyReads the public job postings. Call it through the Apify API and it works like a jobs API that returns JSON.

How it compares

Features as listed on each Actor's Store page on 25 September 2026.

FeatureParseForgeZipRecruiter Jobs Scraper ProZipRecruiter Jobs Scraper (silentflow)Job Scraper for ZipRecruiter (7 Country Markets)
United StatesYesYesYesNeeds extra account setup
CanadaYesNot listedYesNo
UK, Ireland, Germany, France, India, New ZealandYesNoNoYes
AustraliaYesNoNoNo
Salary as numbers with currencyYesMin, max and period, no currencyYesYes
Annual pay equivalentYesNot listedNot listedNot listed
Full job descriptionYesYesYesYes
Experience level filterYesNot listedNot listedNot listed
Salary range filterMinimum and maximumNot listedMinimumNot listed
Quick Apply filterYesNot listedNot listedNot listed
Job URLs as inputYesStart URLsYesNot listed

Configure the run

Search by keyword and location, or paste ZipRecruiter URLs. Set a maximum number of listings per run (and per URL) so your dataset stays the size you need. The Input tab lists every parameter.

A first run with the defaults:

{
"country": "us",
"query": "software engineer",
"location": "New York, NY",
"maxItems": 10,
"includeDetails": true
}

Remote, full-time data analyst jobs posted in the last week that pay at least $70,000 a year, anywhere in the US, without opening each job page:

{
"country": "us",
"query": "data analyst",
"workplace": "remote",
"daysPosted": 7,
"employmentTypes": ["full_time"],
"salaryMin": 70000,
"maxItems": 500,
"includeDetails": false
}

Nurses in Toronto, and electricians in Manchester, from URLs in one run:

{
"startUrls": [
{ "url": "https://www.ziprecruiter.com/jobs-search?search=nurse&location=Toronto%2C+ON&country=ca" },
{ "url": "https://www.ziprecruiter.co.uk/jobs/search?q=electrician&l=Manchester" }
],
"maxItems": 200,
"maxItemsPerStartUrl": 100
}

A ZipRecruiter US search goes about 25 to 29 pages deep, roughly 500 to 580 jobs. To collect more for a broad keyword, split it by location or filters, or paste several URLs.

Output

One row per job. A US example (description shortened):

{
"jobId": "HWdEqkOO0ad7L-G2Rn9e4g",
"title": "Entry-Level Occupational Safety and Health Data Analyst",
"companyName": "ERG",
"location": "Alexandria, VA",
"city": "Alexandria",
"state": "VA",
"countryCode": "US",
"employmentType": "Full-time",
"workplaceType": "Remote",
"isRemote": true,
"salary": "$58K - $70K/yr",
"salaryMin": 58000,
"salaryMax": 70000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"salaryMinAnnual": 58000,
"salaryMaxAnnual": 70000,
"salarySource": "provided",
"salaryIsEstimated": false,
"benefits": ["Medical", "Dental", "Paid time off", "Life insurance", "Retirement"],
"postedDate": "2026-09-22T19:38:05Z",
"firstPostedDate": "2026-09-22T19:38:05Z",
"jobUrl": "https://www.ziprecruiter.com/c/ERG/Job/Entry-Level-Occupational-Safety-and-Health-Data-Analyst/-in-Alexandria,VA?jid=d126a86d89ffd032",
"isExternalApply": false,
"companyProfileUrl": "https://www.ziprecruiter.com/co/ERG/Jobs",
"description": "Job Description ERG is a research and consulting firm that provides a wide range of support to federal, state, and commercial clients...",
"searchCountry": "us"
}

salarySource says where the pay figures come from: provided by the employer, parsed from the description, estimated by ZipRecruiter, or not_displayed when ZipRecruiter has figures for the job but does not show them to candidates. postedDate is the date the site shows and filters by; firstPostedDate is when the listing first went up, which can be much older for roles the employer keeps reopening.

On the international sites the search results carry title, company, location, summary, and posting date; with full descriptions on, the row also gets the description, employment type, coordinates, apply details, and the salary when the posting states it.

Pricing

Pay-per-result: $0.01866 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$1.87
1,000 results$18.66
10,000 results$186.60

New Apify accounts start with $5 in free credit.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Job Postings Scraper for ZipRecruiter.
  3. Pick a country, type a job title and a location, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to ZipRecruiter job postings through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ziprecruiter-scraper"

Then prompt it in plain language, for example "find remote data analyst jobs in the US posted this week that pay over $80k".

Troubleshooting

Why am I getting no results?

Check that the keyword and location return results on the matching ZipRecruiter site first, and that the country is right: "Dublin" alone searches a Dublin in the United States, while "Dublin, Ireland" searches the Irish site. Very narrow filter combinations can also return nothing.

The run is taking a long time.

With full descriptions on, the Actor opens every job page, which takes a few seconds per job in the United States and Canada. Turn it off if the search fields are enough; a search-only run reads 20 jobs per page.

Some jobs have no salary.

Not every posting states pay. In the US and Canada, salarySource tells you where the figures came from, and showSalary says whether ZipRecruiter displays them.

I pasted a URL and filled in the keyword, and the run stopped.

The URL field and the search fields are mutually exclusive. Clear one of them and run again.

I need more than about 500 jobs for one keyword in the US.

ZipRecruiter stops paging a single search after roughly 25 to 29 pages. Run the keyword per state or city, or add filters, and the Actor removes duplicates across the searches in one run.

FAQ

QuestionAnswer
Which countries does it cover?The United States and Canada (ziprecruiter.com), the United Kingdom (ziprecruiter.co.uk), Ireland (.ie), Germany (.de), France (.fr), Australia (.com.au), India (.in), and New Zealand (.nz).
What happens if I leave the country empty?The country is read from the location, so "Cork, Ireland" searches Ireland and "Toronto, Canada" searches Canada. With no country named anywhere, the United States is searched.
Can I get the full job description?Yes. Leave "Include full job description" on and the Actor opens each job page for the full text and HTML.
Which filters work in which countries?Posted within N days and workplace work everywhere. Employment type, experience level, salary range, and Quick Apply use ZipRecruiter's own filters in the United States and Canada. Sort by newest applies to the international sites.
Is the radius in miles or kilometres?Miles in the United States and Canada (ZipRecruiter offers 5, 10, 25, 50 and 100). The international sites use their own radius unit.
Can I paste a URL with filters already applied?Yes, search URLs and individual job URLs from any of the nine sites. One run can mix countries.
Does it handle pagination?Yes. It keeps loading result pages until it reaches your maximum or the search runs out, and it removes duplicate jobs.
What output formats are supported?CSV, JSON, Excel, or XML from the Apify platform, or through the API and integrations.
Can I keep only jobs that apply on the employer's site?Yes. Turn on "External apply only". In the US and Canada, "Quick Apply only" does the opposite and keeps jobs you apply to directly on ZipRecruiter.

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by ZipRecruiter, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.