AI Deep Job Search avatar

AI Deep Job Search

Pricing

from $10.00 / 1,000 jobs

Go to Apify Store
AI Deep Job Search

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.

Pricing

from $10.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Enrico

Enrico

Maintained by Community

Actor stats

2

Bookmarked

63

Total users

6

Monthly active users

5 days ago

Last modified

Categories

Share

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.

Run on Apify Service Status


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_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.
  • 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 pointDescription
score0–100 relevance score
reasoningLLM explanation of why the score
gapsConcrete weaknesses vs your requirements
deal_breakersHard mismatches
Job titleRaw + normalized_title
CompanyName, logo, website, summary, industries
LocationRaw + geocoded city / region / country / lat / lon
SalaryMin / max in USD-normalized form
SkillsAI-extracted, typed hard / soft
Responsibilities & benefitsBullet lists
Description & AI summaryFull + 2–3 sentence recap
Work-auth signalsis_work_auth_required, is_h1b_sponsor, is_clearance_required
SourceWhich 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 0100 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?

  1. Sign in to Apify.
  2. Open the actor page at apify.com/jobo.world/ai-deep-job-search.
  3. Define your search. Fill in target_job_titles (be specific) and locations. Optionally add preferred_skills, undesirable_skills, min_salary_usd, and a free-form additional_requirements paragraph for culture / deal-breakers.
  4. Pick a stop condition. Set target_matches (default 10) — the agent stops when it finds that many score-≥70 matches.
  5. Start the run. Watch the reasoning log as the agent iterates.
  6. Open the results. The key-value store has matches, all_jobs, reasoning_log, and csv_export.
  7. Wire it up. Schedule daily / weekly runs and pipe matches to Slack, email, or a Zapier workflow.

Input

Configure the actor on the Input tab in the Apify UI.

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.
include_company_detailsBooleanfalseOff 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:

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.

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_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

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

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.


ActorBest for
ATS Jobs SearchRaw filtered search across all 48 ATSes (no AI scoring)
ATS Jobs FeedBulk download for data pipelines
Workable Jobs ScraperSingle-ATS workflows for Workable
Greenhouse Jobs ScraperSingle-ATS workflows for Greenhouse
Crunchbase Company LookupPair with company.details_url for funding / leadership data

Changelog

3.2

  • Job description in the listing view. The full description field now appears directly in the matches view.
  • Company enrichment is opt-in. include_company_details now 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_details to 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 company object 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.