ZipRecruiter Jobs Scraper
Pricing
from $5.00 / 1,000 results
ZipRecruiter Jobs Scraper
ZipRecruiter Jobs Scraper collects job listings by keyword and location. You get titles, salaries, company names, and descriptions in a clean dataset, ready to use.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Job Listings Scraper for ZipRecruiter Data
Collect job listing data by keyword and location from ZipRecruiter. Each result can include the job title, company, salary range, location, remote status, and listing URL.
Enable Fetch full job details to additionally collect the full job description, posted date, and employment type from each listing page.
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, sponsored by, or otherwise officially associated with ZipRecruiter or any of its subsidiaries. ZipRecruiter and related trademarks are the property of their respective owners.
What data does this Actor collect?
| Field | Type | Description |
|---|---|---|
| jobTitle | String | Job position title |
| companyName | String | Hiring company name |
| location | String | City and state |
| isRemote | Boolean | True if the listing is marked remote |
| salaryText | String | Raw salary string as shown, e.g. $40 - $75/hr |
| salaryMin | Number | Parsed minimum salary value |
| salaryMax | Number | Parsed maximum salary value |
| salaryInterval | String | Pay period: HOUR, YEAR, or MONTH |
| easyApply | Boolean | True if quick-apply is available |
| jobUrl | String | Direct URL to the job listing |
| jobId | String | Job listing identifier |
| companyUrl | String | URL to the company's profile |
| jobDescription | String | Full plain-text description when fetchJobDetails is enabled |
| datePosted | String | Date the job was posted when fetchJobDetails is enabled |
| employmentType | String | Employment type, e.g. FULL_TIME |
| scrapedAt | String | UTC timestamp when the record was collected |
How to use this Actor
Input
| Field | Type | Default | Description |
|---|---|---|---|
| searchQuery | String | required | Job title or keywords to search |
| location | String | blank | City and state, e.g. "Austin, TX" |
| fetchJobDetails | Boolean | false | Visit each listing page for the full description and additional details |
| maxItems | Integer | 50 | Maximum number of listings to collect, up to 1000 |
| requestTimeoutSecs | Integer | 30 | Per-request timeout in seconds |
Example input
{"searchQuery": "data analyst","location": "New York, NY","fetchJobDetails": true,"maxItems": 100}
Example output
{"jobTitle": "Senior Data Analyst","companyName": "Acme Corp","location": "New York, NY","isRemote": false,"salaryText": "$85K - $110K/yr","salaryMin": 85000,"salaryMax": 110000,"salaryInterval": "YEAR","easyApply": true,"jobUrl": "https://www.ziprecruiter.com/c/Acme-Corp/Job/Senior-Data-Analyst/-in-New-York,NY?jid=abc123","jobId": "abc123","companyUrl": "https://www.ziprecruiter.com/co/Acme-Corp/Jobs","jobDescription": "We are looking for a Senior Data Analyst...","datePosted": "2025-04-20","employmentType": "FULL_TIME","scrapedAt": "2025-04-28T10:30:00+00:00"}
Use cases
- Salary research: Analyze salary information across multiple job listings.
- Recruitment research: Review job postings and identify common requirements.
- Job feeds: Export listings to your application, spreadsheet, or database.
- Resume targeting: Collect job postings for a specific role and analyze recurring skills and requirements.
- Market research: Analyze job titles, locations, salary ranges, and employment types.
Performance
With fetchJobDetails disabled, the Actor typically collects around 20 listings per page request. Each page takes approximately 3 to 5 seconds.
A run collecting 100 listings typically finishes in around 20 to 30 seconds, depending on network conditions and the selected search parameters.
With fetchJobDetails enabled, the Actor makes an additional request for each listing. A 100-listing run can therefore take several minutes.
FAQ
How many listings can it collect per run?
Up to 1000 listings. Use maxItems to configure the maximum number of results.
Does it work for remote jobs?
Yes. Leave the location field blank to search broadly, or use "Remote" when supported by the search.
Why are some jobs missing salary data?
Salary information is only available when it is provided in the listing. Listings without salary information may return null for salaryMin, salaryMax, and salaryInterval.
What does fetchJobDetails do?
When enabled, the Actor visits each listing page to collect additional information such as the full job description, posted date, and employment type.
This adds approximately one additional request per listing. For example, a 100-listing run will generally take longer with this option enabled.
Can I run this on a schedule?
Yes. You can use the Apify Scheduler to run the Actor automatically on a daily, weekly, or other supported schedule.
Trademark Notice
ZipRecruiter and related names, logos, and trademarks belong to their respective owners. Their use in this documentation is solely to identify the source of the data and does not imply affiliation, sponsorship, endorsement, or partnership.