Career products and personal developer searches

AI Job Search & Fit Scorer

Give users a shortlist they can understand. Search up to ten supported developer-job sources, or supply compatible job records, and compare them with one résumé or profile.

One candidate per runFit reasons and gapsNo separate model key

Runs on Apify. Sign in or create an Apify account to use the input form; no code is needed for the first run. Workflow connections require your own credentials.

A shortlist people can understand

Add explained recommendations to a career product, or build a personal developer-job search. Each result helps you review the reasons a role fits, the requirements to check, and gaps to discuss.

The built-in search covers supported developer-job sources. You can also supply compatible job records for one candidate. The scorer does not apply to jobs, send alerts, or make hiring decisions.

Five returned shortlist results cost $0.10 in Actor result charges. Applicable platform costs are additional; audit mode can also charge retained non-failure decisions that are not recommendations. Check current pricing.

Try a small shortlist

Open this tool on Apify ↗, sign in, and paste the example below into the Input JSON editor. Set a maximum run cost before starting.

Use a fictional or consented candidate profile, explicit search terms, no more than five retained results, and a $0.10 maximum result charge for the first run.

{
  "mode": "search",
  "search": {
    "sources": ["linkedin", "remote_boards", "justjoinit"],
    "keywords": ["data engineer"],
    "postedWithinDays": 14,
    "maxItemsPerSource": 3
  },
  "candidateProfile": {
    "primaryRole": "Data Engineer",
    "skills": ["Python", "SQL", "dbt"],
    "remoteLocations": ["European Union"]
  },
  "maxItems": 5,
  "resultMode": "shortlist",
  "minDeliveryScore": 2,
  "minRankToForward": 30,
  "maxAiItems": 5
}

Send exactly one candidate source: candidateProfile, resume, or resumeText. Do not add experience, location, language, or contract constraints the candidate did not provide.

For developers: search and scoring modes

In search mode, the Actor searches the selected sources, normalizes and deduplicates the returned jobs, then evaluates them for one candidate. In score-jobs mode, it accepts complete nomad-agent-job-v1 records from a JSON array, immutable dataset ID, or exact successful upstream run.

Default shortlist mode returns only scored rows whose delivery score meets the threshold. audit mode retains drops, holds, and failures. Every v4 run summary reports the evaluated, dropped, held, scored, failed, filtered, and output counts.

Each retained evaluation carries a raw 0–100 fit score, a gate-adjusted 0–5 delivery score, recommendation, hard-requirement evidence, gap summary, source provenance, and stable keys. It is decision support: it does not apply to jobs, send alerts, learn from clicks, or make hiring decisions.

Consume the exact result safely

  1. Start job-atlas/ai-job-fit-scorer with build latest, explicit input, item cap, and total charge cap.
  2. Poll only the returned run ID. Continue only for terminal SUCCEEDED, exit code 0, and the immutable build ID and number returned at start.
  3. Read that run’s RUN-SUMMARY and require schema nomad-ai-job-fit-run-summary-v4, algorithm name scoring-v3, valid result-policy counts, the declared billing meter, and bounded provider guards.
  4. Fetch that run’s default dataset and reconcile its row count with counts.outputRows.
  5. In shortlist mode require every row to be scored and meet minDeliveryScore; in audit mode require zero filtered rows. Upsert retained candidate-specific evaluations by matchKey, not the source-only jobKey.

Pricing and privacy boundaries

  • Shortlist mode charges $0.02 only for returned scored rows meeting the threshold. Audit mode charges retained non-failure decisions, including drops and holds; ai_failed remains uncharged.
  • Résumé content is processed in memory, but the original Actor input or upload remains subject to the Apify account’s configured retention. Extracted evidence follows the configured provider path with data collection denied; this is not a zero-data-retention claim.
  • Public sources may change, block, rate-limit, or omit fields. A verified zero-row source can be clean; an unverified empty or total source failure must fail closed.

Historical primary-organization examples

Current Job Atlas starters use latest. The following historical primary-organization evidence predates the Job Atlas publication. Existing run AkjZ6lVDultxapjdP on 2026-09-05 returned three scored rows for the built-in fictional candidate; its summary, dataset and three $0.02 result charges reconcile. The earlier canaries below retain their original builds.

On 2026-09-03, immutable runtime build 0.1.12 passed v4 shortlist filtering, audit retention, a scored inline result, and a three-source default search. In the default search, all three adapters succeeded, three jobs were scored, two were filtered, and the one delivery-3 result reconciled with one $0.02 event. Documentation-only build 0.1.13 then passed a zero-charge exact-build smoke with the same runtime image.

This proves the immutable Actor and dataset path. It does not prove hosted MCP exposure, importing an n8n or Make artifact, building a Zap, a schedule firing naturally, or a named Google Sheet receiving a row.

Troubleshooting

  • No output: inspect v4 resultFilteredOut before assuming nothing was evaluated; then distinguish a valid filtered/clean-empty result from source failure or a non-terminal run.
  • Duplicate or overwritten candidates: the destination probably keyed on jobKey; switch to candidate-specific matchKey.
  • Unexpected spend: inspect the exact run and its charges before running again. Keep the maintained latest selector, lower maxItems and maxAiItems, choose shortlist unless the complete audit is needed, and set the caller’s maximum total charge explicitly.
  • Different results: compare candidate snapshot, source build, search provenance, scoring version, and evidence—not only the displayed score.
Version and release evidence

Published by Job Atlas. Start with latest and retain the immutable build returned by your run. Job Atlas release evidence; earlier run IDs and numeric builds below are historical primary-organization evidence.