Indeed jobs API workflow
The Group Oject Actor collects Indeed job listings into an Apify dataset. It is an independent scraper, not an official Indeed API. Begin with one location and a small output limit, then validate the records before scheduling larger searches.
Ready-to-run input
Use this configuration in the Actor’s JSON input. Review the live price and set a maximum run charge before starting. Limits are maximums, not guaranteed output counts.
{
"searchTerm": "software engineer",
"location": "New York, NY",
"jobBoards": [
"indeed"
],
"countryIndeed": "USA",
"maxResultsPerSite": 20,
"maxItems": 20
}Start with a focused search
Use searchTerm for one role, location for one city, and jobBoards: ["indeed"]. Start with maxResultsPerSite: 20 and maxItems: 20. An output cap is a maximum, not a promise that twenty matching listings exist. Country and location should agree.
Read the output, not just the run status
Inspect the returned job title, company, location and source URL. Salary, skills and full descriptions depend on what the source exposes. Missing values must remain missing. SEARCH-OUTCOMES records source-level errors, timings and delivery counts, including partial runs.
Connect the dataset to a workflow
Start the Actor using the Apify API, wait for completion, then read its default dataset. JSON is useful for applications; CSV works well for spreadsheet review. Keep your Apify token in server-side credential storage, never in a public page.
Know the boundaries
The scraper does not provide an exhaustive historical database or guaranteed coverage of every posting. Job boards can change, block requests or return fewer matches. Follow applicable source terms and data-use requirements; avoid collecting unnecessary personal information.
Call the jobs scraper API
Keep your Apify token in an environment variable named APIFY_TOKEN. Run this request on your own machine or server, never in browser code. It starts a paid Actor run with a $0.10 charge cap and a 120-second run timeout.
curl --fail-with-body --silent --show-error --max-time 150 \
--request POST \
'https://api.apify.com/v2/acts/groupoject~indeed-jobs-scraper/run-sync-get-dataset-items?timeout=120&maxTotalChargeUsd=0.10&format=json&clean=true' \
--header "Authorization: Bearer ${APIFY_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"searchTerm":"software engineer","location":"New York, NY","jobBoards":["indeed"],"countryIndeed":"USA","maxResultsPerSite":20,"maxItems":20}'The response is a JSON array of jobs. A successful empty array can mean no matches. For partial source outcomes, inspect the run in Apify Console. A client timeout does not prove the Actor stopped: check Runs before retrying to avoid duplicate work. For longer searches, use the asynchronous run API, poll the returned run ID, and retrieve its default dataset only after completion.
Sources & next step
This guide describes the Group Oject Actor. Consult its current input schema, README and pricing before running. For integration details, see the Apify API documentation.
Build your searchRun on Apify