Job Posting Leads for Recruiters & Agencies
Pricing
from $20.00 / 1,000 company leads
Job Posting Leads for Recruiters & Agencies
Find companies hiring for the roles you place. Searches Indeed in the US, UK, Canada and Australia, removes staffing agencies, and returns one row per hiring company: website, size, revenue band, open roles, salaries and job links. Schedule it to get only companies you have not seen.
Pricing
from $20.00 / 1,000 company leads
Rating
0.0
(0)
Developer
Mediocre_Interest
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Turn Indeed job postings into job posting leads: one row per hiring company, with staffing agencies removed, ready for recruiting and staffing agencies to prospect. Enter the roles you place and where, and get every company hiring for them on Indeed in the US, UK, Canada or Australia, with its website, size band, revenue band, open roles and job links. Leave the roles empty and press Start to see a free sample first. Schedule it with Only companies not returned before and each run brings just the companies that started hiring since the last one.
- One row per company, not per job. Thirty postings from one hospital network are one lead with 30 open roles, not 30 rows to deduplicate.
- Staffing agencies are removed. Agencies re-posting their clients' vacancies are your competitors, not your prospects.
- Website, employee count and revenue band from each employer's Indeed profile, with a filter by company size.
- You pay per company delivered. Companies that are skipped, and searches that find nothing, cost nothing.
What does Job Posting Leads for Recruiters & Agencies do?
Recruiting and staffing agencies win new clients by calling companies that are hiring right now. A job board lists jobs, not companies. A health system advertising thirty nursing jobs fills thirty rows. Staffing agencies post the same vacancies again for their own clients. And the board says nothing about the employer's website or size. Turning that into a prospect list is hours of copying, deduplicating and checking.
This Actor searches Indeed's job listings for the roles you place, up to ten per run. It searches around a city, region or postcode, or across a whole country, for postings from the last 24 hours up to the last 30 days. It groups the postings by employer, using the company's website domain so that different spellings of one employer become one row, and removes staffing agencies and job boards. It then returns one row per hiring company, busiest first.
Each row carries what Indeed knows about the employer next to the jobs themselves:
- About the company: website, employee count band, annual revenue band, industry, headquarters and Indeed's company description.
- About its jobs: how many matching postings it has open, their titles and locations, and the newest posting with its link and its apply link.
- Pay, where the employer states it.
- Contact emails printed in the postings, limited to the company's own domain and role inboxes such as
jobs@.
Which companies does it leave out?
A company that is left out is never written to your dataset and never charged. The run's summary counts each one under the first reason that applies.
| Reason | When it applies | What to know |
|---|---|---|
| Staffing agency, recruiter or job board | Skip staffing agencies and recruiters is on (the default) | Turn it off to keep them, flagged in isStaffingAgency with the reason in agencyReason |
| Larger than your size limit | Maximum company size is set | Companies with no size on Indeed are kept, with employeeCount empty |
| On your exclusion list | You listed it in Companies to leave out | Matched by website domain, or by name whatever its case, punctuation or Inc / LLC / Ltd |
| Returned by an earlier run | Only companies not returned before is on | Remembered per search: the same roles, location and country |
How does it recognise a staffing agency?
It looks first at what the company says about itself, and only then at the posting:
| Signal | Examples |
|---|---|
| A known staffing firm or job board | Robert Half, Randstad, Adecco, Hays, Maxim Healthcare, American Traveler, Employment Hero |
| An agency word in the company name | Staffing, Recruitment, Personnel, Workforce Solutions, Locum, Labour Hire, Resourcing |
| Indeed's industry for the employer | Human Resources & Staffing |
| The company's own description | "recruitment agency", "specialists in temporary and permanent recruitment", "travel nurse" |
| Wording only an intermediary uses in a posting | "on behalf of our client", "our partnering hospital is seeking", "we are a recruitment agency" |
Words that employers use about their own work are not signals: "our clients", "placement", "13-week assignment". A hospital hiring its own travel nurses, or an insurer talking about its clients, stays in your list.
Why use Job Posting Leads for Recruiters & Agencies?
- A prospect list instead of a job list. Every row is a company you can call today, ranked by how many matching roles it has open, with the jobs that prove it is hiring.
- No staffing agencies in your leads. The filter removes recruiters and job boards before anything is written, so you neither see nor pay for them.
- Firmographics to qualify fast. Website, employee count band, revenue band, industry and headquarters come straight from the employer's Indeed profile. Use Maximum company size to keep only the company sizes you sell to.
- Only the new hiring companies, every week. Switch on Only companies not returned before and schedule the run: each run returns only companies the same search has not returned before.
- Free to try, fair to run. The sample costs nothing. A live run charges per company delivered, never for a company it skipped or a search that found nothing.
- Everything Apify adds. Run it on a schedule, call it from the API, connect it to Make, n8n or Zapier, and export the companies as CSV, Excel or JSON.
How to find companies hiring on Indeed
- Open the Actor in Apify Console and press Start with Roles you place empty. You get the free sample: 21 companies hiring registered nurses around Dallas, TX, from a saved Indeed search. Nothing is charged.
- Enter the job titles you recruit for in Roles you place, one per line, such as
registered nurseandlicensed practical nurse. - Set Location to a city, region or postcode (postings within 50 miles count) or leave it empty for the whole country, and pick the Country.
- Choose Posted within and Maximum companies.
- Optionally set Maximum company size, add your current clients to Companies to leave out, and switch on Only companies not returned before.
- Press Start. When the run finishes, open the Hiring companies tab, or export the rows as CSV, Excel or JSON.
To get new hiring companies every week, save the input as a task with Only companies not returned before switched on, and add a schedule in Apify Console.
Input
| Field | What it does |
|---|---|
| Roles you place | Job titles or keywords, one per line, up to 10. Each is searched on Indeed separately. Empty returns the free sample. |
| Location | City, region or postcode. Postings within 50 miles are included. Empty searches the whole country. |
| Country | United States, United Kingdom, Canada or Australia. |
| Posted within | The last 24 hours, 3, 7, 14 or 30 days. Default 7. |
| Maximum companies | Stop after this many companies, busiest first. Default 100; at most 1,000. |
| Skip staffing agencies and recruiters | On by default. Off keeps them, flagged with the reason. |
| Maximum company size | Up to 50, 200, 500, 1,000, 5,000 or 10,000 employees, or any size (the default). |
| Companies to leave out | Company names or websites, one per line, such as your current clients. |
| Only companies not returned before | Return only companies that earlier runs with the same roles, location and country did not return. |
| Proxy configuration | On by default; keep it on. Switch to the RESIDENTIAL group if Indeed refuses the default one. |
Get the free sample, with no roles at all:
{}
Find up to 50 companies with up to 1,000 employees hiring nurses around Houston in the last 7 days, leaving out two current clients, and only those that earlier runs of this search did not return:
{"roles": ["registered nurse", "licensed practical nurse"],"location": "Houston, TX","country": "us","postedWithinDays": "7","maxCompanies": 50,"maxCompanySize": "1000","excludeCompanies": ["acmehealth.com", "Example Medical Group"],"onlyNewCompanies": true}
Output
Each run writes one row per hiring company to its default dataset, shown in the Hiring companies view. You can export it as JSON, CSV, Excel, XML or HTML, or read it through the API. The run's totals go to its key-value store as summary-run.
The free sample input above produces 21 rows. This is the second:
{"companyName": "Cook Children's Health Care System","website": "http://www.cookchildrens.org","domain": "cookchildrens.org","employeeCount": "5,001 to 10,000","revenue": "$1B to $5B (USD)","industry": null,"headquarters": "Fort Worth, TX","companyDescription": "Cook Children’s is more than a health care system: we strive to be an extension of your family, growing with your child from their first steps to adulthood.","indeedCompanyUrl": "https://www.indeed.com/cmp/Cook-Children's-Health-Care-System","logoUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/78935a6502b10fd14c426a13bf890d97","openRoles": 2,"roleTitles": "RN Staff, Endocrinology Clinic | RN, Cardiac Stepdown","matchedRoles": "registered nurse","jobLocations": "Fort Worth, TX","remoteRoles": 0,"latestJobTitle": "RN Staff, Endocrinology Clinic","latestJobUrl": "https://www.indeed.com/viewjob?jk=59e7ad4aad4c3622","applyUrl": "https://cookchildrens.wd1.myworkdayjobs.com/en-US/Cook_Childrens_Careers/job/Fort-Worth-TX/RN-Staff--Endocrinology-Clinic_JR-119490","latestPostedAt": "2026-10-09T03:36:21.661Z","earliestPostedAt": "2026-10-09T03:36:06.477Z","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryInterval": null,"contactEmails": null,"isStaffingAgency": false,"agencyReason": null,"isNewCompany": null,"searchLocation": "Dallas, TX","country": "us","source": "Indeed sample","collectedAt": "2026-10-09T06:00:51.888Z"}
A live search returns rows of the same shape, with source set to Indeed and isNewCompany set to true or false.
What does each hiring company row contain?
| Columns | Meaning |
|---|---|
companyName, website, domain | The employer, its website from Indeed, and that website's domain without careers or jobs subdomains |
employeeCount, revenue, industry, headquarters, companyDescription | The employer's Indeed profile. Revenue bands are in US dollars in every country. Empty when Indeed has nothing |
indeedCompanyUrl, logoUrl | The company's Indeed page and logo |
openRoles, roleTitles, matchedRoles, jobLocations, remoteRoles | How many matching postings it has, up to 10 of their titles, which of your roles found it, where the jobs are, and how many are remote |
latestJobTitle, latestJobUrl, applyUrl, latestPostedAt, earliestPostedAt | The newest posting, its Indeed link and apply link, and when the newest and oldest postings went up on Indeed |
salaryMin, salaryMax, salaryCurrency, salaryInterval | Posted pay across the postings, in the pay period most of them use. Usually filled for US postings only |
contactEmails | Emails printed in the postings on the company's own domain, or role inboxes such as jobs@ and hr@. Never free-mail addresses |
isStaffingAgency, agencyReason | Whether the company looks like an agency, recruiter or job board, and why. true appears only when the agency filter is off |
isNewCompany | Whether earlier runs of the same search had not returned it. Empty on the free sample |
searchLocation, country, source, collectedAt | What was searched, where the rows came from, and when |
Lists inside a cell are separated by |, so every column exports cleanly to CSV.
What is in the run summary?
The summary-run record in the key-value store says what the run did:
- how many postings Indeed returned and how many companies they came from;
- how many companies were skipped, and why: agencies, size, your exclusion list, or returned before;
- how many companies were delivered;
- whether the run stopped early, at your spending cap or before its timeout;
- the Indeed requests it made.
How are companies counted and ranked?
openRoles is the number of postings this search found for the company, not every vacancy the company has. Postings are grouped by the employer's website domain, ignoring subdomains like careers. and jobs.. Companies without a usable website are grouped by name within the country. Two subsidiaries that share a parent's careers website therefore count as one company. Rows are ranked by openRoles, then by the newest posting, so a run that stops at your spending cap still delivers the busiest companies first.
How much does it cost to find hiring companies?
The Actor is pay per event, at the prices shown on this page, and there is one event:
| Event | Charged | When |
|---|---|---|
company-lead | Once per hiring company delivered | After that company's row is saved to your dataset |
The price depends on your Apify plan: $0.025 per company on the Free plan, falling to $0.02 on higher plans. A run of 100 companies costs $2.00 to $2.50.
Nothing else is charged:
- The free sample costs nothing.
- Skipped companies cost nothing, whether agencies, too large, on your exclusion list or returned before.
- A search that finds nothing costs nothing, and neither does a run that cannot reach Indeed.
Platform usage for a typical run is a fraction of a cent.
To set a budget, set Maximum total charge in the run options. The Actor stops when it reaches it, never delivers a company it cannot charge for, and its status message says how many it delivered. A cap below the price of one company stops the run before it searches.
How to run Job Posting Leads from the API or from Make, n8n and Zapier
A search for a few dozen companies usually finishes in under a minute, so the Actor can run synchronously: one request in, hiring companies out.
curl -X POST "https://api.apify.com/v2/acts/mediocre_interest~job-posting-leads/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"roles": ["registered nurse"],"location": "Dallas, TX","maxCompanies": 20}'
The response is a JSON array of up to 20 hiring company rows like the one above, busiest first. Add &format=csv for a spreadsheet, or &fields=companyName,website,employeeCount,openRoles,latestJobUrl to keep only the columns you need.
To feed a CRM or an outreach tool, use Apify's integrations for Make, n8n, Zapier and others. Run the Actor, then read its dataset into the next step. For a weekly list of new hiring companies, schedule the run in Apify Console with Only companies not returned before switched on.
Tips for better results
- Search the titles employers write. "Registered nurse" and "RN" find different postings. Add the variants you place, up to 10 roles in one run.
- Pick the window for the job. The last 7 days suits a weekly list, the last 24 hours a daily one, and the last 30 days a first, wider sweep.
- Match the location to the country. The location is searched on the chosen country's Indeed, so "Dallas, TX" on Indeed Australia finds nothing. Leave the location empty to search the whole country.
- Use the size filter if you serve smaller firms. "Up to 500 employees" keeps the small and mid-sized employers and drops the large ones. Companies without a size on Indeed are kept.
- Keep your clients out. Put their websites or names in Companies to leave out, so every row is a new conversation.
FAQ
Is it legal to collect job postings from Indeed?
The Actor reads job postings and company profiles that Indeed shows to anyone, without logging in. It returns business information only: no person's name, and only email addresses that postings print for the company itself or for a role inbox. Whether a particular use is lawful depends on where you are and what you do with the data, so if you are unsure, ask a lawyer.
How does it decide that a company is a staffing agency?
From the company's name, its Indeed industry, its own description, and wording only intermediaries use in postings. The table under How does it recognise a staffing agency? above lists each signal. Turn Skip staffing agencies and recruiters off to see every company, with agencyReason saying why one was flagged. If an agency slips through, add it to Companies to leave out.
Why do some companies have no website or size?
Indeed's profile for that employer has none, which is more common for small employers and outside the US. Those companies still appear, grouped by name, with the empty fields left blank. A company without a size is never removed by the size filter.
Why did my run return no companies?
The run's status message gives the reason:
- No postings matched. Indeed had none for those roles in that place and window. The message names the role, location and country searched.
- Your filters left nothing. Every company found was an agency, too large, on your exclusion list or returned before, and the message counts each.
- Nothing new. With Only companies not returned before on, a run that finds only companies it has already returned succeeds with "No new hiring companies".
None of these is charged.
Does it give me the hiring manager's name?
No. It returns companies, not people, and never a person's name. Contact emails appear only when a posting prints one on the company's own domain or a role inbox such as careers@. To reach a decision-maker, pass the company websites to a contact-enrichment tool.
How many companies can one run find?
Up to 1,000, set by Maximum companies. Indeed returns up to about 500 postings for each role, and a role usually spans fewer companies than postings. To find more companies, add more roles, widen the location, or allow older postings.
How is it different from an Indeed job scraper?
A job scraper returns one row per posting, agencies included, and leaves the grouping and qualifying to you. This Actor returns one row per hiring company, removes staffing agencies, adds the employer's website, size and revenue band, filters by company size, and can return only companies you have not seen before. You pay per company, not per posting.
Which countries does it cover?
The United States, the United Kingdom, Canada and Australia, each through that country's Indeed.
What other Actors work with this one?
- Multi-Platform Job Scraper: every job posting from several job boards as its own row. Use it when you need the postings themselves, and this Actor when you need the companies behind them.
- Ad Library Scraper — Google, Meta & LinkedIn: the ads a company is running, another sign of a business that is growing.
- Airtable Data Quality Scan - Find Duplicates: duplicate records and broken values in an Airtable base, such as the CRM your leads end up in.
- Make.com Scenario Auditor - Linter & Cost Review: a review of the Make scenarios that move your leads around.
- n8n Workflow Auditor - Linter & Security Review: the same review for n8n workflows.
Support
Found a staffing agency the filter missed, an employer it removed by mistake, or a search that returned nothing it should have? Open an issue on the Issues tab, with the run ID and the company name or input that shows it. Custom work, such as CRM-ready exports or a scheduled lead list built for your agency, is available on request.