Module 01 · Sourcing

Find candidates without leaving your agent.

Paste a job description. RecruitMCP turns it into a search plan, tells you what it costs, and after your OK returns factual profiles — distance, experience, time in the current role. Search steps never overlap, so you never pay twice for the same person.

Claude · RecruitMCP connectedexample data
  1. You: Use RecruitMCP and plan a search for this role (attached). Don't run it yet.
  2. Tool call: start_search { job_description: "Data Engineer, Antwerp…", target: 40 }
  3. Check: ✓ Search profile: Data Engineer, Analytics Engineer · nearby BI Engineer · Antwerp + 25 km · 3–8 yrs
  4. Check: ✓ Plan: 3 steps — local first, then the rest of the country, then nearby titles
  5. Waiting for you: ⏸ Estimate up to 120 credits. Edit the plan, or say "run".
candidates per run
30–60
leads per search page
25
pages max per run
45
profile cache, then free reuse ends
30 d

// from src/lib/sourcing/config.ts

How it works

You give it. It plans. You decide.

  1. 01

    You give it

    A job description, a few lines, or a list of target companies.

  2. 02

    RecruitMCP does

    Builds a search profile you can edit, splits it into steps that never overlap, prices it, runs it, skips people you've already seen, and keeps a checkpoint so the run can continue later.

  3. 03

    You decide

    Edit titles, location or years before it runs. Approve the estimate. Stop any time.

Output

What comes back: facts, not opinions.

get_search_results · one candidateexample data
Fields returned for each candidate, with an example
FieldExample
Name, headlineJ. Peeters — Software Engineer (Go)
Current role & employerSoftware Engineer, Acme Logistics
Location & distanceMechelen · 22 km
Total experience6 years
Time in current role1 year
Career history, education, skills, languagesas listed on the profile
  • Facts from the profile, nothing added.

    Missing fields stay empty.

  • No ranking, no score.

    Your agent compares against your brief in its own words, so you can read its reasoning.

  • Same shape every time.

    Whatever the source, so your own prompts and scripts keep working.

Never pay twice

Each step only asks for what the last one didn't cover.

Most candidate searches overlap: the local search, then the national one, then nearby titles — and you pay for the same people in each. RecruitMCP plans the steps so each one only asks for what the previous steps didn't cover.

  • Non-overlapping steps

    The country step excludes the local area already searched; nearby titles exclude exact titles.

  • Seen register

    People you've already seen or contacted are skipped before you pay for their profile.

  • Resume runs

    Every page is checkpointed. Ask for 20 more next week and it continues where it stopped.

The plan

Step by step, free or paid.

  1. 1Draft the search profilefree
  2. 2Look up locations, companies, industriesfree
  3. 3Build and price the planfree
  4. 4Leads returned (up to 25 a page)1 credit per lead
  5. 5Skip already-seen peoplefree
  6. 6Fetch full profiles2 credit each
  7. 7Contact details (email + phone), per contact foundadd-on, shown before it runs

What a run costs

Credits per run, before it runs.

Estimated credits per run by target size
PeoplePagesCredits, up toEuro
30490€1.19
405120€1.58
608180€2.38

example dataEuro at €0.01 per credit, the top-up price. An estimate, not a quote, from the same estimator as plan_search. Targets run from 30 to 60. The plan returns the real range for your role before anything runs. Narrow roles need fewer pages.

Add-on

Contact details

Ask for personal email and mobile only for the people you're about to approach. You see the cost for that list first; nothing found, nothing charged.

Lists

Lists and export

Save runs as lists, export CSV, or keep working in your agent. The seen register remembers who you've seen across runs.

Plays

Plays for sourcing.

  • From a job description

    “Use RecruitMCP. Turn this JD into a search plan, show the estimate, wait.”

  • Tight location

    “Only people within 20 km of Leuven. Show me the areas you'll search first.”

  • Target companies

    “Search people currently at these 15 companies first, then widen.”

  • Experience window

    “Only people with 5 to 10 years of experience. Show me the plan before it runs.”

  • Continue a run

    “Get 20 more for the run from Monday. Don't pay for pages you already have.”

  • Exclude

    “Skip anyone at our clients: Acme Bank, Acme Legal.”

  • Contacts for a few

    “Personal email and mobile for these 6. Cost first.”

Reference

Tools and endpoints.

Every MCP tool maps to one REST endpoint. Badges show what costs credits and what needs confirm.

  • start_search

    free plan · confirm spends

    POST /v1/runs

    Job text in, a plan with a plain-language summary and an estimate out. Runs only after confirm and stops at the budget.

  • refine_search

    free

    PATCH /v1/intents/{intent_id}

    Change titles, place, years, or exclusions in must, nice, and exclude blocks, then plan again.

  • get_search_results

    free

    GET /v1/runs/{run_id}/candidates

    Waits for the run, then full profiles plus distance_km, experience, tenure, title, and company. No fit score.

  • resolve_area

    free

    GET /v1/lookups/areas

    An anchor city and a radius become location ids. Distance stays a fact on every candidate.

  • search_people_raw

    1 / lead

    POST /v1/people/search

    Your own filters, one to one with the person index. Unsupported filters are refused, never ignored.

  • lookup_people

    2 / live profile

    POST /v1/people:fetch

    Up to 100 full profiles. Cached and not-found profiles are free.

  • check_candidates

    free

    POST /v1/seen:check

    Matches people against your seen register before you pay to fetch them.

  • find_contact_details

    add-on, shown before it runs

    POST /v1/people/contacts:fetch

    Personal email and phone, on request. Priced per contact found, shown before it runs. Nothing found, nothing charged.

# Free: plan from the job text and read the estimate
curl -X POST "https://api.recruitmcp.com/v1/runs?dry_run=true" \
  -H "Authorization: Bearer $RECRUITMCP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"job_description":"Senior backend engineer in Ghent, Go, 5+ years","target":40}'

# Spends credits: start the run once the estimate is OK
curl -X POST https://api.recruitmcp.com/v1/runs \
  -H "Authorization: Bearer $RECRUITMCP_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: gent-backend-01" \
  -d '{"plan_id":"pln_93aD","budget":{"max_credits":30}}'

Sourcing, answered

Where does the data come from?

From a live search of public professional profiles at the moment you search. We don't sell a database dump.

Does it score candidates?

No. It returns facts. Ranking is your agent's job, with your brief and in words you can check.

What if the estimate is too high?

Edit the plan: fewer titles, smaller area, lower target. The estimate updates for free.

Do I pay for people I've already seen?

No. They're skipped before the profile is fetched.

Can I stop halfway?

Yes. You pay only for pages that ran, and the run can continue later.

Can I use it without an agent?

Yes, the same steps are a REST API.

Sourcing docs

Use cases: Turn a job note into a sourced shortlist, Run sourcing from n8n or your own scripts, Rerun a search every week without paying for the same people, Get personal contact details for your top picks only, Build a recruiting product on the API.

Paste one job description and read the plan.

1,250 free credits when you confirm your email. No card. Planning, lookups, and the seen register are free.