ZipRecruiter Job Real-Time Data
Pricing
from $0.90 / 1,000 results
ZipRecruiter Job Real-Time Data
Collect ZipRecruiter job listings at scale — keyword search, salary & remote filters, company jobs & URL import. Structured JSON streams in real time for recruiters, job boards, market research, salary intel & AI workflows. Fast, lightweight runs. Up to 1,000 jobs per keyword. Webhook ready.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
Chidubem Aneke
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
The fastest way to collect ZipRecruiter job postings on Apify. Turn any job search into clean, structured JSON — ready for spreadsheets, dashboards, automations, and AI workflows. Results land in your dataset in real time, as each job is found.
Built for recruiters, talent teams, job boards, market researchers, and builders who need reliable hiring data at scale — without slow setups or messy exports.
Why this Actor
| ZipRecruiter Job Real-Time Data | Typical job data tool | |
|---|---|---|
| Speed | ~1–2 s per job | 5–15 s per job |
| Memory | 256–512 MB default | 2–4 GB+ |
| Setup | Run in seconds | Often complex configuration |
| Cost | Low compute, efficient runs | High |
| Output | Structured JSON, LLM-ready | Often messy or incomplete |
| Scale | Up to 1,000 jobs per keyword | Often capped lower |
| Filters | Full ZipRecruiter Jobs filters | Often keyword-only |
| Modes | Search · Company jobs · Job links | Usually one mode only |
Three ways to collect jobs
| Mode | What it does | Best for |
|---|---|---|
| Job search | Keyword + location search with full ZipRecruiter filters | Market scans, role tracking, location-based hiring |
| Company jobs | Open roles from specific employers | Competitor monitoring, account-based recruiting |
| Job links | Structured data from individual ZipRecruiter URLs or listing keys | Enriching a list you already have |
Enable one or combine all three in a single run.
What you get — every job, fully structured
Each record is one job posting with featureType, listingKey, and scrapedAt so you can sort, filter, and join with your own data.
| Field | What it tells you |
|---|---|
title, company, location, workplaceType, isRemote | Role, employer, place, and remote/hybrid/onsite status |
jobUrl, applyUrl, companyUrl, companyLogo | Direct links and company branding |
salary, payMin, payMax, payCurrency, benefits | Compensation signals and perks from the listing card |
employmentType, seniorityLevel, educationLevel | How the role is classified |
snippet, postedTimeAgo, ageInDays, listedAtISO | Freshness and card summary |
zipApply | Whether ZipRecruiter one-click apply is available |
searchQuery, searchLocation, searchCompany, position | Which search produced this row and its rank |
totalJobsCount | Total matching jobs reported for the search |
Set includeRaw: true if you need extended source data for custom processing.
featureType values: job (search) · company_job (company jobs) · scrape_by_url (job links)
Dataset views in Apify Console: Overview · Compensation · Search context · Full details
Search like ZipRecruiter Jobs — get data like a database
Use the same filters job seekers use on ZipRecruiter:
- Keywords — one search per keyword (e.g.
software engineer,registered nurse) - Title — narrow to a specific role name
- Company — jobs at Amazon, Capital One, or any employer
- Skills — technologies like Python, AWS, or React
- Location — New York, Texas, United States, and more
- Experience level — internship through executive
- Employment type — full-time, part-time, contract, temporary, internship
- Workplace — on-site, remote, hybrid
- Date posted — any time, past month, week, 3 days, or 24 hours
- Salary range — annual USD min/max filters
- Radius — miles around your location
- Volume — up to 1,000 jobs per keyword
- Listing card details — salary, benefits, workplace, and apply links on every row
Use cases — real outcomes
- Recruiting pipelines — build candidate-ready job lists by role, location, and seniority
- Job boards and aggregators — feed your product with fresh ZipRecruiter listings daily
- Market and salary research — track who is hiring, where, and at what pay ranges
- Competitive intelligence — monitor competitor hiring by company and function
- Sales and BD — spot companies in hiring mode for timely outreach
- Staffing agencies — track demand by region, role, and employer
- AI assistants and agents — summarize listings, score fit, draft outreach, or answer hiring questions
- Data warehouses and CRMs — push JSON into Snowflake, BigQuery, HubSpot, Airtable, or your stack via API
LLM and MCP integration
Output is structured JSON — ideal for ChatGPT, Claude, Gemini, LangChain, LlamaIndex, CrewAI, and custom agents. No cleanup step. No manual formatting. Just records your model can read.
Recommended workflow
- Run the Actor with your keywords, companies, or job links.
- Pull dataset items via Apify API, webhook, or export JSON/CSV.
- Pass records to your LLM, vector store, or automation — one job per row.
Example: one job record for an LLM prompt
{"featureType": "job","listingKey": "019f5378-5d0c-7f2e-87d7-ce4140ceb1ef","title": "Senior Software Engineer","company": "Capital One","location": "Manhattan, New York","workplaceType": "Remote","isRemote": true,"employmentType": "Full time","salary": "USD 134,400-177,100/year","payMin": 134400,"payMax": 177100,"benefits": "Medical, Vision, Dental, Paid time off, Life insurance, Retirement","snippet": "Full-time · Remote · Medical, Vision, Dental","postedTimeAgo": "3 days ago","ageInDays": 3,"jobUrl": "https://www.ziprecruiter.com/job-redirect?match_token=...","searchQuery": "software engineer","searchLocation": "New York, NY","position": 1,"scrapedAt": "2026-07-12T12:00:00.000Z"}
Apify MCP (Model Context Protocol)
Connect the Apify MCP server so AI assistants can:
- Run this Actor from natural-language instructions
- Read job results directly in the chat
- Chain with other Actors — enrich contacts, send alerts, update spreadsheets
Example MCP conversation:
User: "Find 50 software engineer jobs in New York posted this week and summarize top employers"→ MCP runs ZipRecruiter Job Real-Time Data with jobKeywords, jobLocation=New York, NY, jobDatePosted=week→ MCP reads dataset items→ LLM summarizes hiring trends and top companies
API quick start
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"jobKeywords": ["software engineer"],"jobTitle": "Software Engineer","jobLocation": "New York, NY","jobDatePosted": "week","jobsPerQuery": 50,"fetchJobDetails": true}'
Fetch results: GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
Export as JSON, CSV, Excel, RSS, or via API.
Input reference
Job search
| Input | Type | Default | Description |
|---|---|---|---|
jobKeywords | string[] | ["software engineer"] | Search keywords — one run per keyword |
jobTitle | string | — | Title filter |
jobCompany | string | — | Company filter |
jobSkills | string[] | [] | Skills/technologies filter |
jobLocation | string | "New York, NY" | Location |
jobExperienceLevels | enum[] | all | internship → executive |
jobTypes | enum[] | all | full_time, part_time, contract, temporary, internship |
jobRemote | enum[] | all | onsite, remote, hybrid |
jobDatePosted | enum | any | any, month, week, 3days, day |
jobsPerQuery | integer | 25 | Max jobs per keyword (1–1000) |
radiusMiles | integer | 25 | Search radius in miles (0–500) |
Advanced filters
| Input | Type | Default | Description |
|---|---|---|---|
salaryMin | integer | — | Annual USD pay floor |
salaryMax | integer | — | Annual USD pay ceiling |
industryFilter | string | — | Keep jobs whose industry contains this text |
educationLevels | enum[] | [] | high_school through doctorate |
easyApply | boolean | false | ZipApply only |
externalApplyOnly | boolean | false | External apply only |
excludeListingKeys | string[] | [] | Skip known listing IDs from prior runs |
Company jobs
| Input | Type | Default | Description |
|---|---|---|---|
enableCompanyJobs | boolean | false | Collect jobs from company profiles |
companyNames | string[] | [] | Company names (e.g. Amazon, FedEx) |
jobsPerCompany | integer | 25 | Max jobs per company (1–1000) |
Job links
| Input | Type | Default | Description |
|---|---|---|---|
enableScrapeByUrl | boolean | false | Collect data from individual job links |
scrapeUrls | string[] | [] | ZipRecruiter URLs or listing keys |
Output and global
| Input | Type | Default | Description |
|---|---|---|---|
fetchJobDetails | boolean | true | Salary, benefits, workplace, apply URL on every row |
includeRaw | boolean | false | Attach extended source data |
webhookUrl | string | — | Optional URL for real-time record delivery (Zapier, Slack, CRM) |
webhookFormat | enum | json | json (full record) or slack (message) |
country | string | us | Target country market (us, ca, uk) |
maxItems | integer | 10000 | Max total records across all modes |
proxyConfiguration | object | residential US | Connection settings (US residential recommended) |
Full schema: Input tab on Apify Console or .actor/input_schema.json in this repository.
Quick start examples
Software engineer roles in New York — full details
{"jobKeywords": ["software engineer"],"jobTitle": "Software Engineer","jobLocation": "New York, NY","jobDatePosted": "week","jobsPerQuery": 50,"fetchJobDetails": true}
Jobs at a specific company
{"jobKeywords": ["engineer"],"jobCompany": "Amazon","jobLocation": "United States","jobsPerQuery": 100}
All jobs from employer profiles
{"enableCompanyJobs": true,"companyNames": ["Amazon", "FedEx", "Capital One"],"jobsPerCompany": 50,"fetchJobDetails": true}
Import specific job links
{"enableScrapeByUrl": true,"scrapeUrls": ["https://www.ziprecruiter.com/jobs/j?lvk=YOUR_LISTING_KEY"],"fetchJobDetails": true}
Remote roles with salary filter
{"jobKeywords": ["data engineer"],"jobLocation": "United States","jobRemote": ["remote"],"salaryMin": 120000,"jobsPerQuery": 75,"fetchJobDetails": true}
High-volume market scan
{"jobKeywords": ["machine learning", "data scientist", "AI engineer"],"jobLocation": "United States","jobExperienceLevels": ["mid_senior", "director"],"jobsPerQuery": 500,"fetchJobDetails": true}
Performance and reliability
- Residential proxy (US recommended) — best results and consistent throughput for US job searches.
- Default memory: 512 MB — enough for high-volume runs with multiple keywords and companies.
- Streaming output — each job is written to the dataset immediately; nothing is buffered in memory for long runs.
- Webhook delivery — optionally POST each new record to your URL in real time (dataset is always the primary output).
- Spending limit aware — respects your per-run spending cap and stops gracefully when reached.
- Parallel processing — multiple keywords, companies, and job links run concurrently for faster results.
Limitations and compliance
- This is an unofficial tool — not affiliated with ZipRecruiter.
- Use responsibly and comply with applicable laws and ZipRecruiter's Terms of Service.
- Some fields (e.g. salary, benefits, ZipApply) appear only when employers publish them on the listing card.
- Full HTML job descriptions are not included — output focuses on structured listing card data for speed and reliability.
- Listing availability can change; expired postings may return summary data only.
Contact and custom work
Need something beyond this Actor? I design and build custom data solutions and full-stack products for teams that want results — not experiments.
Email: dubem115@gmail.com
GitHub: github.com/DrunkCodes
Reach out for:
- Custom Apify Actors — any website, job board, or data source
- ZipRecruiter and hiring data projects — pipelines, alerts, and dashboards at scale
- LLM and MCP integrations — connect your data to ChatGPT, Claude, and agent workflows
- Web apps and automation — data tools, internal platforms, SaaS products, and client-facing apps
- Any scraping project — lead generation, market research, monitoring, and enrichment at scale
Whether you need a one-off data feed or a production system, I can help you ship it.
ZipRecruiter Job Real-Time Data · by DrunkCodes