Indeed Jobs Scraper - 62 Countries, Full Descriptions
Pricing
from $1.33 / 1,000 result items
Indeed Jobs Scraper - 62 Countries, Full Descriptions
Indeed jobs from 62 country sites. 44 fields per job, including the full description, salary range, address with coordinates and employer size. Search by keyword, location, job URL or company URL. You pay per job returned, and a run that finds no jobs fails with nothing charged.
Pricing
from $1.33 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
20
Total users
3
Monthly active users
7 hours ago
Last modified
Categories
Share
Indeed Jobs Scraper
Indeed jobs from 62 country sites for $1.49 per 1,000 results, or $1.43 per 1,000 on the Bronze plan. Apify's public run stats for the 30 days to 24 September 2026 show 51 of 51 runs succeeded, with none failed, aborted or timed out. Each job has 44 fields, including the full description, the salary range, a street address with coordinates, and employer size.
Search by keyword and location, or paste Indeed URLs: searches, single job pages and company job pages. You can filter by date posted, job type, remote, salary and experience level. Jobs that fail a filter are dropped before they reach your dataset, so you only pay for jobs that match. You do not need an Indeed account or your own proxies. Export to CSV, JSON, Excel or XML.
| Who uses it | What they scrape Indeed for |
|---|---|
| Recruiters | Monitor competitor job postings and salary bands in a specific city. |
| Job boards | Aggregate listings from Indeed alongside other sources for a niche site. |
| Market analysts | Track hiring volume and demanded skills across industries over time. |
| Data scientists | Build a dataset of job descriptions for NLP and salary prediction models. |
What it does
This Actor collects Indeed job listings by search query, location, or direct URL, and returns each one as a flat row with title, company, location, salary, and description.
- ๐ Search filters: job title, location, country, job type, date posted, remote, salary, experience level, and sort order.
- ๐ Multi-country support: 62 Indeed country sites, including the US, United Kingdom (GB or UK), Canada, Australia, Germany, France, Spain, Italy, Netherlands, Ireland, India, Japan, Brazil, Mexico, and more. An unsupported country fails the run right away, with nothing charged.
- ๐ Date filtering: limit results to jobs posted in the last 24 hours, 3 days, 7 days, or 14 days.
- ๐ฐ Salary filter: set a minimum annual salary threshold from $30k to $130k+.
- ๐ Direct URL input: paste Indeed search URLs, company jobs URLs, or job detail URLs (viewjob?jk=...), one or many, from any supported country site.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Indeed data
๐ Track hiring trends.
A market analyst runs the Actor weekly for "data engineer" in New York, filtering for the last 7 days, to count listings and track which skills appear most often.
๐ข Monitor competitor postings.
A recruiter scrapes a competitor staffing firm's company page on Indeed daily to see which roles they are filling and at what advertised salary.
๐ Build a niche job board.
A developer aggregates remote senior-level software jobs from Indeed US, Canada, and Ireland into a single feed for a curated job board.
๐ค Train a salary prediction model.
A data scientist collects 50,000 job listings with salary data across five cities to train a model that estimates market rates for new postings.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Indeed has no public API. This Actor reads the web pages directly. |
| Structured output | Every listing returns the same fields: title, company, location, salary, description, and job type. |
| Bulk runs | Collect up to 1,000,000 listings in a single run with automatic pagination. |
| Proxy included | Apify's rotating proxies and browser fingerprinting are built in, so you avoid blocks. |
Common complaints about Indeed scrapers, and what this Actor does
Apart from "it does not work", the 1 and 2 star reviews of Indeed scrapers on Apify name four specific problems. Here is how this Actor handles each one. The numbers come from six test runs on 24 September 2026 (build 1.0.92, 92 jobs in total).
UK runs that return US jobs
Set country to GB or UK and the search runs on uk.indeed.com. A start URL keeps its own site, so a uk.indeed.com URL returns UK jobs even if the country field says US. Each row has a countryCode you can check. In our test, a search for nurse in London with country GB returned 20 jobs, and all 20 had countryCode GB. If you pick a country the Actor does not support, the run stops with an error. It does not fall back to US jobs.
Runs that never stop
A run ends when it reaches maxItems (10 by default) or when Indeed has no more results. The default timeout is 600 seconds, and you can set a lower one in the run options. Our six test runs collected 10 to 20 jobs each and took between 2.6 and 4.5 seconds.
Missing job descriptions
description and descriptionText hold the full plain-text description, and descriptionHTML keeps the original formatting. Every one of the 92 jobs in our test runs had a description. The shortest was 2,455 characters and the average was 5,515.
Being billed for nothing
You pay for each job written to your dataset and for nothing else. A run that finds no jobs ends as FAILED and is not charged. An unsupported country or URL fails before the Actor sends a single request, so that is not charged either. In the six test runs, the charged count matched the dataset row count exactly: 92 charged, 92 rows.
How it compares
This Actor offers search filters, multi-country support, and direct URL input. Here is how it compares to other Indeed scrapers on Apify based on their public listings.
| Feature | ParseForge | Indeed Scraper | ๐ Indeed jobs scraper [PPR] | ๐ก Indeed Jobs Scraper |
|---|---|---|---|---|
| Search by keyword and location | Yes | Yes | Yes | Yes |
| Filter by job type, date posted, remote, salary, and experience level | Yes | Not listed | Not listed | Not listed |
| Multi-country domain support (62 countries) | Yes | Not listed | Not listed | Not listed |
| Direct URL input for company pages | Yes | Not listed | Not listed | Not listed |
| Full job description extraction | Yes | Yes | Not listed | Not listed |
| Salary extraction and filtering | Yes | Not listed | Not listed | Yes |
Configure the run
Drive the Actor from a direct Indeed URL or build a search with job title, location, and filters. Filters run as each listing is read so only matches reach your dataset. The Input tab lists every parameter.
Each example below was run on 24 September 2026, and the result is noted under it. maxItems counts jobs for the whole run, not per URL.
1. First run with the prefilled input. Returned 10 US jobs in 4.2 seconds.
{"startUrl": "https://www.indeed.com/jobs?q=software+engineer&l=New+York%2C+NY&sort=date","maxItems": 10,"country": "US"}
2. UK nursing jobs in London from the last 7 days. Returned 20 jobs, all with countryCode GB, in 2.8 seconds.
{"searchQuery": "nurse","location": "London","country": "GB","datePosted": "7","maxItems": 20}
3. Remote full-time customer service jobs in the US, newest first. Returned 20 jobs, all with remoteLocation true, in 4.5 seconds.
{"searchQuery": "customer service","country": "US","remoteFilter": "1","jobType": "fulltime","sortBy": "date","maxItems": 20}
4. Single job pages from different countries, plus a search. Returned 12 jobs: 1 from the US, 1 from the UK and 10 from Germany, in 2.6 seconds. URLs are read in order, so put single job URLs before searches. Job links stop working when the posting closes, so swap in your own jk values.
{"startUrls": ["https://www.indeed.com/viewjob?jk=b8893114ef03ebc2","https://uk.indeed.com/viewjob?jk=ae8383c8fe759822","https://de.indeed.com/jobs?q=data+analyst&l=Berlin"],"maxItems": 12}
5. Open jobs at one company. Returned 10 jobs, all from Amazon.com, in 3.7 seconds.
{"startUrl": "https://www.indeed.com/cmp/Amazon.com/jobs","maxItems": 10}
Pricing
Pay-per-result: $0.00149 per result ($1.49 per 1,000) collected. Paid Apify plans get lower rates: $0.001433 on Bronze, $0.00138 on Silver, and $0.001326 on Gold and above. You pay only for the results written to your dataset.
| Results collected | Approximate cost (Free plan rate) |
|---|---|
| 100 results | $0.15 |
| 1,000 results | $1.49 |
| 10,000 results | $14.90 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Indeed Jobs Scraper.
- Set your inputs and any filters, then click Start.
- 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 Indeed 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/indeed-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your search filters are not too restrictive. Try removing the salary, experience level, or date posted filter and run again. Also verify the location spelling matches Indeed's format.
The Actor is returning fewer results than I expected.
Indeed sometimes caps the number of pages it shows for a search. Try narrowing your search with more specific keywords or a smaller location radius to get more complete results within the visible range.
I'm getting an error about the Start URL.
Make sure the URL is an Indeed search, company jobs, or job detail (viewjob?jk=...) page on a supported country site, such as www.indeed.com, uk.indeed.com, or indeed.de. The run fails with the list of supported countries if the site is not supported, and nothing is charged.
The run is taking a long time.
Large maxItems values and broad searches will take longer. Reduce the maxItems or add more filters to speed up the run. The Actor processes listings sequentially to avoid rate limiting.
Some job descriptions are missing or truncated.
Indeed occasionally changes its page layout. If you notice missing fields, try re-running the Actor. If the issue persists, report it through Apify support so the parser can be updated.
FAQ
| Question | Answer |
|---|---|
| Can I scrape Indeed without being blocked? | Yes. The Actor uses Apify's rotating proxies and browser fingerprinting to avoid detection. It also respects polite delays between requests. |
| Does this Actor require an Indeed account or API key? | No. It reads the public job listing pages directly. You do not need an Indeed account, API key, or any authentication. |
| How do I scrape jobs for a specific company? | Paste the company's Indeed jobs URL into the Start URL field, or use the search filters with the company name as the keyword. |
| Can I filter by remote jobs only? | Yes. Set the Remote Filter input to "Remote" and the Actor will only return listings marked as remote on Indeed. |
| What countries does this support? | 62 Indeed country sites: US, GB (UK), CA, AU, DE, FR, IN, SG, NL, IE, NZ, ES, IT, BR, MX, JP, AT, CH, BE, ZA, AE, PL, SE, NO, DK, FI, PT, AR, CL, CO, PE, HK, MY, PH, PK, SA, QA, KW, BH, OM, TW, KR, CN, TH, VN, ID, CZ, HU, RO, GR, TR, IL, EG, MA, NG, UA, LU, CR, EC, PA, UY, and VE. |
| How many job listings can I scrape in one run? | You can set the maximum up to 1,000,000 listings. The Actor will paginate through search results until it hits your limit or runs out of listings. |
| Does it extract the full job description? | Yes. description and descriptionText hold the complete plain-text description, and descriptionHTML keeps the original formatting. |
| Can I get the salary information? | When a listing includes a salary, the Actor extracts it. You can also set a minimum salary filter to only return jobs above a threshold. |
| How do I run this on a schedule? | After creating a task in Apify, you can set it to run on a recurring schedule, such as every day at 8 AM, to collect fresh listings automatically. |
| What output formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML from the Apify console or via the API. |
Next step
Each row carries the fields that these ParseForge jobs Actors take as input:
- Every open role at that employer, from its own ATS. Take
company(orcorporateWebsitewhen present), find the company's careers page (Workday, Greenhouse, Lever, iCIMS, Ashby and 16 more ATS are supported) and paste it intocareerSiteUrlsof Career Site Jobs Scraper. It returns everything the employer lists on its own site, including roles never posted on Indeed, with salary and a geocoded location. - Company rating and salary estimate. Put
companyintocompanyNameof Glassdoor Jobs Scraper to get that employer's Glassdoor rating, salary estimates and its other open roles. - Pay benchmark for the same role. For tech employers, pass
companyas a Levels.fyi company slug (for examplegoogle) incompaniesof Levels.fyi Salary Scraper, with the job family that matchestitle(for examplesoftware-engineer) injobFamilies. You get base, stock and bonus by level to set against the posted salary.
Related actors
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 unofficial and is not affiliated with, endorsed by, or sponsored by Indeed, Inc. 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.
