AI Deep Job Search
Pricing
from $10.00 / 1,000 jobs
AI Deep Job Search
Deep research for your career. An autonomous agent that conducts multi-step job searches across 13 ATS platforms. Give it your requirements, and it will find, analyze, and score hundreds of job descriptions to create a comprehensive report—accomplishing in minutes what would take you hours.
AI Deep Job Search & Ranking | AI-Scored Job Matches Across 48 ATS Platforms
Think of this as ChatGPT Deep Research, but for finding your next job. An autonomous agent that searches across 48 ATS platforms via the Jobo Connect API, scores each job against your detailed requirements with an LLM, and returns a ranked shortlist with reasoning — accomplishing in minutes what would take you hours of manual searching. The easiest way to try it: open the actor on Apify, hit Try for free, fill in target_job_titles and locations, and let the agent loop until it finds 10 strong matches.
What can AI Deep Job Search do?
- Score, don't just search. Most actors return matching jobs; this one ranks them by how well they match your requirements.
- Autonomous loop. The agent keeps searching, generating new query variations, and analyzing jobs until it finds
target_matchesjobs with score ≥70. - 48 ATS platforms. Powered by ATS Jobs Search under the hood, with full v2 enriched data.
- Reasoning included. Every match comes with the LLM's reasoning — why it's a fit, what the gaps are.
- Deal-breaker handling. Specify undesirable skills, industries, or culture in
additional_requirementsand the agent will weight against them. - Schedule on Apify with built-in monitoring and webhook delivery to Slack / Zapier / Make / email.
What's new in v2.0
- 48 ATS platforms — up from 13 in v1.x (Workday, iCIMS, Taleo, SuccessFactors, ADP, Oracle Cloud, and many more).
- Richer AI input — the LLM scoring now sees AI-extracted
qualifications(typed hard / soft skills),responsibilities[],benefits[],summary,company.industries[], and work-authorization signals — so its judgments are sharper. - Enriched output — every returned job carries the full v2 shape (geocoded locations, salary normalization, company industries, etc.).
- Same agentic loop — the autonomous "search → filter → score → continue until target met" behavior is unchanged.
No setup required. The actor ships pre-configured with API keys for Jobo Connect and OpenRouter.
What data does AI Deep Job Search return?
| Data point | Description |
|---|---|
score | 0–100 relevance score |
reasoning | LLM explanation of why the score |
gaps | Concrete weaknesses vs your requirements |
deal_breakers | Hard mismatches |
| Job title | Raw + normalized_title |
| Company | Name, logo, website, summary, industries |
| Location | Raw + geocoded city / region / country / lat / lon |
| Salary | Min / max in USD-normalized form |
| Skills | AI-extracted, typed hard / soft |
| Responsibilities & benefits | Bullet lists |
| Description & AI summary | Full + 2–3 sentence recap |
| Work-auth signals | is_work_auth_required, is_h1b_sponsor, is_clearance_required |
| Source | Which ATS the job came from |
How does the agent work?
Input requirements↓Agent generates query variations↓For each variation:• Search 48 ATSes via Jobo Connect• Skip jobs already analyzed• For each new job:- LLM scores 0–100 based on your requirements- Captures reasoning, gaps, deal-breakers↓Stop when target_matches jobs hit score ≥70↓Return ranked shortlist + reasoning log
The agent uses OpenRouter (configurable model, currently Xiaomi MiMo v2-flash by default) for scoring. Search results come from Jobo Connect.
How do I use AI Deep Job Search to find best-fit roles?
- Sign in to Apify.
- Open the actor page at apify.com/jobo.world/ai-deep-job-search.
- Define your search. Fill in
target_job_titles(be specific) andlocations. Optionally addpreferred_skills,undesirable_skills,min_salary_usd, and a free-formadditional_requirementsparagraph for culture / deal-breakers. - Pick a stop condition. Set
target_matches(default 10) — the agent stops when it finds that many score-≥70 matches. - Start the run. Watch the reasoning log as the agent iterates.
- Open the results. The key-value store has
matches,all_jobs,reasoning_log, andcsv_export. - Wire it up. Schedule daily / weekly runs and pipe
matchesto Slack, email, or a Zapier workflow.
Input
Configure the actor on the Input tab in the Apify UI.
| Parameter | Type | Default | Description |
|---|---|---|---|
target_job_titles | Array | - | Job titles you're targeting. Be specific ("Senior Backend Engineer", not "Engineer"). |
locations | Array | - | Cities, regions, countries to consider. "Remote" works. |
sources | Array | [] | Restrict to specific ATSes. Leave empty for all 48. |
work_models | Array | [] | Server-side filter: remote, hybrid, onsite. Leave empty for all. |
employment_types | Array | [] | Server-side filter: full-time, part-time, contract, internship, freelance, temporary. |
min_salary_usd | Integer | - | Server-side minimum USD salary filter. |
max_salary_usd | Integer | - | Server-side maximum USD salary filter. |
posted_after | String | - | ISO 8601 or relative (7 days ago). |
target_matches | Integer | 10 | Stop after finding this many jobs with score ≥70. Max 100. |
preferred_skills | Array | - | Skills you want in the job (e.g. ["Python", "AWS", "Kubernetes"]). |
undesirable_skills | Array | - | Skills you'd rather avoid. The agent will weight against them. |
preferred_industries | Array | - | Industries you want (e.g. ["Fintech", "Climate Tech"]). |
undesirable_industries | Array | - | Industries to avoid (e.g. ["Gambling", "Defense"]). |
experience_levels | Array | - | Senior, Lead, Staff, Principal, etc. |
additional_requirements | String | - | Free-text deal-breakers, culture preferences, company-size constraints, etc. Heavily weighted by the LLM. |
include_company_details | Boolean | false | Off by default — each matched job carries a lightweight company preview. Set true to attach the full enriched profile (funding, leadership, ratings, tech stack, H1B sponsorship, acquisitions, investors and more; fetched once per unique company). |
Output
The actor's dataset is split across multiple views in the key-value store:
| Key | Contents |
|---|---|
matches | Ranked shortlist of jobs scoring ≥70. Each row includes score, reasoning, gaps, plus the full v2 job shape. |
all_jobs | Every job the agent analyzed (with its score), regardless of threshold. |
reasoning_log | Per-iteration log of the queries the agent generated and why. |
csv_export | Flat CSV of matches for spreadsheet workflows. |
Output-tab views: Overview — the ranked matches with a lightweight company preview; and Company details — the full company profile rendered as tags and columns. The complete company schema (every field) is in the Dataset Schema tab and at docs.jobo.world/api-reference/companies/schema.
Quick-start examples
Senior backend engineer search, remote-friendly
{"target_job_titles": ["Senior Backend Engineer", "Staff Software Engineer"],"locations": ["San Francisco", "New York", "Remote"],"work_models": ["remote", "hybrid"],"target_matches": 10,"preferred_skills": ["Go", "Python", "AWS", "Kubernetes"],"undesirable_skills": ["PHP"],"preferred_industries": ["SaaS", "Fintech", "Climate Tech"],"undesirable_industries": ["Defense", "Gambling"],"experience_levels": ["Senior", "Staff"],"additional_requirements": "Prefer companies with <500 employees. Looking for engineering-led culture, async work-friendly. Not interested in agencies or consulting."}
Product manager search, US tech mid-market
{"target_job_titles": ["Senior Product Manager", "Group Product Manager"],"locations": ["United States"],"sources": ["greenhouse", "lever", "ashby", "rippling"],"target_matches": 15,"preferred_industries": ["SaaS", "Fintech", "Developer Tools"],"experience_levels": ["Senior", "Lead"],"additional_requirements": "Mid-market (200-2000 employees). Strong PLG / API-first companies preferred. Avoid consulting and agency work."}
European engineering manager search
{"target_job_titles": ["Engineering Manager", "Senior Engineering Manager"],"locations": ["Berlin", "Amsterdam", "London", "Dublin"],"sources": ["personio", "workable", "greenhouse", "lever"],"target_matches": 10,"preferred_skills": ["Python", "TypeScript", "AWS"],"experience_levels": ["Senior", "Lead"],"additional_requirements": "Looking for hands-on EM role at SaaS or Fintech. Remote-friendly preferred. Avoid pure people-only management."}
Tips & advanced options
- Be specific. Vague
target_job_titlesand a vagueadditional_requirementsproduce vague scores. The more concrete you are about deal-breakers and culture, the better the ranking. additional_requirementsis heavily weighted. Use it for the soft-but-important stuff — company size, culture, async-friendly, deal-breakers — that doesn't fit cleanly into structured fields.target_matchesis a stop condition. The agent keeps searching until it hits this many score-≥70 matches, or it runs out of new jobs. Higher = longer runtime + more analysis cost.- Cost scales with breadth. A wider
target_job_titles/ widerlocations= more jobs to analyze = more LLM calls. Start narrow. - Powered by ATS Jobs Search. This actor calls the same backend as ATS Jobs Search. If you don't need AI scoring, that actor is faster and cheaper.
- OpenRouter model is configurable. The default is
xiaomi/mimo-v2-flash. Override via theOPENROUTER_MODELenv var.
Use cases
| Audience | Use case |
|---|---|
| Job Seekers | Find the 10–20 best-fit roles in your inbox, not 1,000 OK-fit listings |
| Recruiters | Generate candidate-targeted shortlists for outreach |
| Career Coaches | Build personalized job lists for clients with reasoning attached |
| AI Agents | Embed AI-powered job matching in larger career-help products |
Is it legal to scrape job listings for AI scoring?
Our scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
FAQ
How is this different from ATS Jobs Search?
ATS Jobs Search returns every job matching your filters — possibly hundreds of results. AI Deep Job Search uses an LLM to score each job against your detailed requirements (skills, industries, culture, deal-breakers) and returns a ranked shortlist with reasoning.
How many jobs does it analyze?
Until it finds target_matches jobs scoring ≥70, or until it exhausts new candidates. Typical runs analyze 100–500 jobs to find 10 strong matches.
How long does it take?
Usually 3–10 minutes depending on target_matches and how narrow your criteria are. Very broad searches with target_matches: 50+ can take 20+ minutes.
What model does the LLM scoring use?
Default: xiaomi/mimo-v2-flash via OpenRouter. Override via OPENROUTER_MODEL env var.
What does the score mean?
0–100, with ≥70 considered a strong match. The reasoning field explains how the agent arrived at the number.
Can I see jobs that didn't make the cut?
Yes — all_jobs contains every analyzed job with its score, even sub-70 ones.
What changed from v1.x?
v2 calls the Jobo Connect API directly, expands from 13 to 48 ATS platforms, and gives the LLM the new enriched job shape (AI-extracted skills, responsibilities, benefits, company industries) as scoring signal. Same agentic loop and input contract.
Where can I check if the Jobo API is up?
At jobo.world/status — check there first if the agent stalls or the search returns errors.
Related actors
| Actor | Best for |
|---|---|
| ATS Jobs Search | Raw filtered search across all 48 ATSes (no AI scoring) |
| ATS Jobs Feed | Bulk download for data pipelines |
| Workable Jobs Scraper | Single-ATS workflows for Workable |
| Greenhouse Jobs Scraper | Single-ATS workflows for Greenhouse |
| Crunchbase Company Lookup | Pair with company.details_url for funding / leadership data |
Changelog
3.2
- Job description in the listing view. The full
descriptionfield now appears directly in the matches view. - Company enrichment is opt-in.
include_company_detailsnow defaults to off — matches carry a lightweight company preview, and the Company details view holds the full profile when enabled.
3.1
- Company enrichment (opt-in). Enable
include_company_detailsto attach the full company profile — funding, leadership, ratings, tech stack, H1B sponsorship and more — to matched jobs. - New "Company details" output view.
- Backward-compatible: the
companyobject is a superset of the previous preview fields.
About Jobo
Jobo provides the most comprehensive job data infrastructure for developers and businesses. Our ATS Jobs Database powers job boards, AI agents, and HR tech platforms worldwide.
- Website: jobo.world
- Enterprise API: jobo.world/enterprise
- API status: jobo.world/status
- Support: enrico@jobo.world