AI Deep Job Search
Under maintenancePricing
from $10.00 / 1,000 jobs
AI Deep Job Search
Under maintenanceDeep 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 | AI-Powered Relevance Scoring 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.
π What's new in v2.0
Major upgrade. The agent now calls the Jobo Connect API directly and benefits from the v2 enriched job shape:
- 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.
β‘ Why Use This Actor?
- 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.
π How It Works
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.
π Input Parameters
| 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. |
π€ 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. |
Each match row looks like:
{"score": 87,"reasoning": "Strong match on backend Go expertise and remote-friendly hybrid policy. Slight gap on Kubernetes depth (job mentions K8s but doesn't require it). Salary $200k clears your $180k floor.","gaps": ["Limited K8s emphasis", "On-call rotation not specified"],"deal_breakers": [],"id": "a1b2c3d4-...","title": "Senior Backend Engineer","company": { "name": "Acme Corp", "industries": ["SaaS", "Developer Tools"] },"...": "...rest of the v2 enriched job shape"}
π 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 & Gotchas
- 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 |
β Frequently Asked Questions
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.
π 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 Search | Single-ATS workflows for Workable |
| Greenhouse Jobs Search | Single-ATS workflows for Greenhouse |
| Crunchbase Company Lookup | Pair with company.details_url for funding / leadership data |
π’ 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
- Support: enrico@jobo.world
