AI Deep Job Search avatar

AI Deep Job Search

Under maintenance

Pricing

from $10.00 / 1,000 jobs

Go to Apify Store
AI Deep Job Search

AI Deep Job Search

Under maintenance

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.

Pricing

from $10.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Enrico

Enrico

Maintained by Community

Actor stats

2

Bookmarked

56

Total users

7

Monthly active users

3 days ago

Last modified

Categories

Share

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.

Run on Apify


πŸ†• 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_matches jobs 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_requirements and 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

ParameterTypeDefaultDescription
target_job_titlesArray-Job titles you're targeting. Be specific ("Senior Backend Engineer", not "Engineer").
locationsArray-Cities, regions, countries to consider. "Remote" works.
sourcesArray[]Restrict to specific ATSes. Leave empty for all 48.
work_modelsArray[]Server-side filter: remote, hybrid, onsite. Leave empty for all.
employment_typesArray[]Server-side filter: full-time, part-time, contract, internship, freelance, temporary.
min_salary_usdInteger-Server-side minimum USD salary filter.
max_salary_usdInteger-Server-side maximum USD salary filter.
posted_afterString-ISO 8601 or relative (7 days ago).
target_matchesInteger10Stop after finding this many jobs with score β‰₯70. Max 100.
preferred_skillsArray-Skills you want in the job (e.g. ["Python", "AWS", "Kubernetes"]).
undesirable_skillsArray-Skills you'd rather avoid. The agent will weight against them.
preferred_industriesArray-Industries you want (e.g. ["Fintech", "Climate Tech"]).
undesirable_industriesArray-Industries to avoid (e.g. ["Gambling", "Defense"]).
experience_levelsArray-Senior, Lead, Staff, Principal, etc.
additional_requirementsString-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:

KeyContents
matchesRanked shortlist of jobs scoring β‰₯70. Each row includes score, reasoning, gaps, plus the full v2 job shape.
all_jobsEvery job the agent analyzed (with its score), regardless of threshold.
reasoning_logPer-iteration log of the queries the agent generated and why.
csv_exportFlat 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."
}
{
"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_titles and a vague additional_requirements produce vague scores. The more concrete you are about deal-breakers and culture, the better the ranking.
  • additional_requirements is 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_matches is 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 / wider locations = 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 the OPENROUTER_MODEL env var.

πŸ’Ό Use Cases

AudienceUse Case
Job SeekersFind the 10–20 best-fit roles in your inbox, not 1,000 OK-fit listings
RecruitersGenerate candidate-targeted shortlists for outreach
Career CoachesBuild personalized job lists for clients with reasoning attached
AI AgentsEmbed AI-powered job matching in larger career-help products

❓ Frequently Asked Questions

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.


ActorBest For
ATS Jobs SearchRaw filtered search across all 48 ATSes (no AI scoring)
ATS Jobs FeedBulk download for data pipelines
Workable Jobs SearchSingle-ATS workflows for Workable
Greenhouse Jobs SearchSingle-ATS workflows for Greenhouse
Crunchbase Company LookupPair 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.