Job Search
Pricing
from $4.05 / 1,000 results
Job Search
Job Search is a job search API for 39 sources that returns 41 normalized job, salary, company, application, and public contact fields. One input can combine compatible sources for the selected country.
Pricing
from $4.05 / 1,000 results
Rating
5.0
(4)
Developer
TrueFetch
Maintained by CommunityActor stats
24
Bookmarked
943
Total users
45
Monthly active users
18 hours
Issues response
a day ago
Last modified
Categories
Share
Job Search is a job search api that queries up to 39 compatible job sources and returns 41 normalized job, salary, company, application, and public contact fields, built for developers and data teams.
- 39 job platforms available through one input.
- 98 selectable countries.
- 10 public inputs with 3 required.
- 41 normalized Dataset fields.
Run a one-result test · View API
Set max_results to 1; the smallest published-result test bills a minimum $0.01000 Actor Start plus one $0.00450 Result, or $0.01450 on FREE.
What does Job Search do?
Job Search collects public listings from multiple job boards through one input and one 41-field output contract. Provide a keyword, country, and per-platform result limit, then select compatible sources. Every item retains its source identity.
The Actor helps developers and data teams avoid separate board-specific pipelines. It can return role, location, salary, company, application, and public contact fields when the source publishes them.
Job Search is independent of the listed platforms and is not an auto-apply, candidate-database, or applicant-tracking service. Each platform controls its inventory, relevance, filters, and optional fields; LinkedIn's official job-search guide illustrates those source-specific search semantics.
How do I run Job Search?
- Open Job Search on Apify.
- Enter the three required inputs:
keyword,country, andmax_results. - For the lowest-risk first run, select one platform and set
max_resultsto1. - Click Start, inspect the Dataset item, and scale only after the fields fit your workflow.
This runnable example uses one consistent scenario throughout the README: find up to one remote Data Analyst listing from Indeed in the United States, posted within the last seven days.
{"keyword": "Data Analyst","country": "United States","platforms": ["Indeed"],"max_results": 1,"remote_only": true,"posted_since": "7 days","job_type": "fulltime","currency": "USD"}
max_results is a limit per platform, not a total for the entire run. If you later select three platforms with max_results: 10, the run can publish up to 10 results from each platform, subject to availability.
What data does Job Search return?
The default Dataset contains 41 fields. Every item uses the same top-level field names, while values that a source or employer does not publish remain empty instead of being guessed.
| Field group | Fields |
|---|---|
| Processing | processor, processed_at |
| Source and application | platform, platform_url, official_url, easy_apply |
| Role details | title, description, job_type, job_level, job_function, listing_type, skills, experience_range |
| Location and work mode | location, is_remote, work_mode |
| Dates and volume | posted_date, valid_through, applicant_count, vacancy_count |
| Compensation | salary_minimum, salary_maximum, salary_currency, salary_period |
| Company | company_name, company_type, company_founded, company_industry, company_url, company_website, company_logo, company_addresses, company_revenue, company_description, company_rating, employee_count, review_count |
| Public contacts | emails, phones, social_links |
This abbreviated, illustrative item matches the one-result Data Analyst scenario above:
{"platform": "Indeed","platform_url": "https://www.indeed.com/viewjob?jk=example123","official_url": "https://careers.example.com/jobs/data-analyst","title": "Data Analyst","company_name": "Example Analytics","location": {"raw": "Remote, United States","locality": null,"region": null,"country": "United States","country_code": "US"},"is_remote": true,"salary_minimum": 85000,"salary_maximum": 105000,"salary_currency": "USD","posted_date": "2026-07-18","emails": [],"phones": [],"processor": "https://apify.com/truefetch/job-search","processed_at": "2026-07-20T12:00:00.000Z"}
See the live Output schema for field types and examples.
What inputs can I configure?
Job Search exposes 10 public inputs in schema order, with 3 required and the rest optional.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
max_results | integer | Yes | Maximum normalized listings to return from each available source. | 4 |
keyword | string | Yes | Job title, skill, or company query for the available sources. | Data Analyst |
country | select | Yes | Country used to choose compatible sources and regional endpoints. | Canada |
location | string | No | City, area, or postal code for the compatible sources. | — |
platforms | array | No | Available job sources to include in one normalized search. | — |
posted_since | date | No | Earliest posting date where an available source accepts the filter. | — |
remote_only | boolean | No | Return remote roles where an available source accepts the filter. | — |
distance | integer | No | Radius in miles around the location where an available source accepts it. | — |
job_type | select | No | Employment type where an available source accepts the filter. | — |
currency | select | No | Target currency for normalized salary conversion when amounts are available. | — |
country has 98 accepted values; platforms has 39 accepted values; job_type has 5 accepted values; currency has 166 accepted values. Optional fields have no request effect when omitted; use the live Input schema for types and accepted values.
What platforms and markets does Job Search cover?
One country-aware request can select one or more compatible job sources.
The public input exposes 39 platform choices and 98 country choices. Compatibility depends on the selected country, so use the live Input schema for the current accepted values.
Coverage states where the Actor can form a request; live inventory, relevance, language, and optional field availability still come from the selected public source.
Why use Job Search?
| Capability | Practical benefit |
|---|---|
| One multi-board input | Reuse the same search contract instead of preparing a separate request for every source. |
| One normalized 41-field dataset | Load records into analytics, data products, ATS-adjacent workflows, or AI systems with less remapping. |
| Source attribution | Audit every item through platform, platform_url, and, when available, official_url. |
| Country-aware coverage | Search appropriate boards for each selected market rather than assuming every board is global. |
| Controlled first run | Test one platform and one result before increasing platform count or volume. |
| Apify delivery | Use Datasets, exports, schedules, webhooks, API calls, or MCP after the same initial configuration. |
The main trade-off is source variation. A normalized schema makes records easier to consume, but it cannot make every platform expose the same filters or fields.
Who is Job Search for?
| Team | Typical use |
|---|---|
| Developers | Add multi-board job search to an application, alerting service, or internal tool. |
| Data engineers | Collect source-attributed job records for a warehouse or repeatable pipeline. |
| Analytics and research teams | Compare demand, salary, work mode, skills, and hiring activity across markets. |
| Job-board product teams | Build search, newsletters, monitoring, or niche vacancy products from normalized listings. |
| Recruiting and market intelligence | Monitor public hiring activity across selected companies, platforms, or countries. |
It is a poor fit for guaranteed optional fields, source-exclusive features, automated applications, or a complete historical database.
How can I use Job Search through the API or MCP?
The public Actor ID is 8QfidRKcSVYICkwrq; the name form truefetch/job-search is also accepted. The synchronous HTTP endpoint below runs the same one-result Data Analyst scenario and returns Dataset items in the response.
Run the Actor with HTTP
curl -X POST \"https://api.apify.com/v2/acts/8QfidRKcSVYICkwrq/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword": "Data Analyst","country": "United States","platforms": ["Indeed"],"max_results": 1,"remote_only": true,"posted_since": "7 days","job_type": "fulltime","currency": "USD"}'
Connect the Actor through MCP
This Streamable HTTP configuration follows the current Apify MCP documentation. Replace the token placeholder with your Apify API token.
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=truefetch/job-search","headers": {"Authorization": "Bearer <APIFY_TOKEN>"}}}}
After connecting, use the same scenario in natural language: “Find up to one remote Data Analyst job from Indeed in the United States, posted within the last seven days, and return salary, company, and application fields.”
For asynchronous runs, SDK examples, OpenAPI, and generated snippets, use the Job Search API page.
How much does Job Search cost?
Job Search costs $0.00450 per Result on FREE plus $0.01000 per minimum Actor Start event, so the smallest one-result test totals $0.01450.
| Apify tier | Actor Start | Per Result |
|---|---|---|
| FREE | $0.01000 | $0.00450 |
| BRONZE | $0.01000 | $0.00405 |
| SILVER | $0.01000 | $0.00360 |
| GOLD | $0.01000 | $0.00338 |
| PLATINUM | $0.01000 | $0.00338 |
| DIAMOND | $0.01000 | $0.00338 |
Result is billed once for each item written to the default Dataset. Actor Start event count depends on selected memory, with a minimum of one event.
Smallest useful test: $0.01000 + 1 × $0.00450 = $0.01450 on FREE when one item is published. A zero-result run can still incur Actor Start. Prices can change; check live pricing before scheduling volume.
How does Job Search compare with alternatives?
| Decision factor | Job Search | Single-board Actor | Separate source integrations |
|---|---|---|---|
| Coverage | 39 platforms and 98 selectable countries | One platform's supported markets | Whatever the team builds and maintains |
| Output | One normalized 41-field schema | Source-focused schema | A team-defined schema and mapping layer |
| First test | One platform and one result can be tested | Usually a narrow source test | Requires each integration to be ready |
| Source depth | Common normalized fields across boards | Better fit for board-specific requirements | Highest potential customization |
| Operations | One Actor, Dataset, API, and MCP surface | One Actor per selected source | Separate maintenance for each source |
| Best fit | Multi-market, multi-board job data | One known source is sufficient | Bespoke control justifies ongoing ownership |
Choose Job Search when breadth, repeatability, and a shared dataset matter most. Choose a related single-board TrueFetch Actor when you only need one source. Build separate integrations when source-specific behavior is more important than the time and cost of owning them.
What are the limits and troubleshooting steps?
| Symptom or limit | Explanation | Next step |
|---|---|---|
| More results than expected | max_results applies per platform. | Reduce the limit, platform count, or both. |
| Results feel loosely related | Relevance follows each source board's search behavior. | Use a more specific title, skill, or employer and split mixed intents into separate runs. |
| A filter appears ineffective | Platforms differ in location, recency, remote, distance, and job-type support. | Test one source at a time and remove unsupported assumptions. |
| Some fields are empty | Sources and employers publish different information. | Make salary, company, applicant, and contact fields nullable downstream. |
| The same vacancy appears twice | A job can be published on multiple boards. | Deduplicate with URLs plus company, title, and location when needed. |
| One platform returns nothing or fails | Multi-platform runs can provide partial source coverage. | Review the run, retry the affected platform separately, and keep successful source-attributed results. |
| Salary is not converted | Numeric salary and a usable source currency are required. | Do not infer missing compensation; compare only populated salary records. |
Before reporting a problem, rerun the smallest reproducible input: one specific keyword, one country, one platform, and max_results: 1. Include the run URL and the expected platform when opening an Apify Issue; do not include API tokens or private data.
Frequently asked questions
Can I use job search api without separate job board keys?
Yes. Job Search runs on Apify without asking for a source-site publisher credential; an Apify account and token are still required for authenticated API or MCP calls.
What does “multi source job listings api” mean for this Actor?
Set keyword, country, and max_results, then add only the optional fields present in this Actor's input table. Results are capped by source availability and relevance.
Does Job Search require a source-site login?
No source-site username, password, cookie, or API key appears in the public input. The Actor collects accessible public listings independently of the source.
Why are salary, company, applicant, or contact values empty?
Those values are nullable because public listings do not expose the same detail. Empty means unavailable from the collected source, not zero or false.
Is there a free jobs API?
Apify accounts include platform usage under the current Apify plan, while this Actor bills Actor Start and Result events. Use the one-result calculation in Pricing to evaluate the smallest test.
Can I schedule runs to monitor multi-source job listings over time?
Yes. Test a small input first, then use Apify schedules and webhooks. Preserve processed_at and source URLs because listings can change, close, or reappear.
How is billing counted for Job Search?
Billing uses Actor Start events and one Result event per default Dataset item. A requested result limit is a cap, not a prepaid bundle or a guarantee of source inventory.
Related TrueFetch Actors
Job Search has three nearby TrueFetch alternatives, each for a different source decision.
- Indeed Job Listing — Use it for an Indeed-only contract and Indeed market filters.
- LinkedIn Job Listing — Use it for LinkedIn-specific role and applicant signals.
- Glassdoor Job Listing — Use it for Glassdoor salary and employer-rating context.
Support
Use the Store page for the run interface, the API page for generated clients, Issues for reproducible bugs, and the TrueFetch community for usage questions.
Run a one-result test · View API
Last Updated: August 10, 2026