Use case · RecruitingProfilesJobs

Find machine learning engineers by skill and city

Start from a job title, narrow to a country, a city and a skill one filter at a time, and see what each filter costs you before you read a single profile.

Who does this

The job this saves, and who it is for.

A recruiter or hiring manager with an open role and a city in mind, who wants a shortlist without writing Boolean strings, and wants to know early whether the pool is 30 people or 3,000.

How the search narrows

Each row adds one filter to the row above. Count before you read: each count costs 1 API Credit.

  1. Current title is machine learning engineercurrent_title match "machine learning engineer"66,492
  2. Based in the United States+ location.country eq "United States"22,17933% of the row above
  3. Based in San Francisco+ location.city eq "San Francisco"3,16114% of the row above
  4. Lists PyTorch as a skill+ skills match "pytorch"230Your list7.3% of the row above

Bar length on a log scale

What comes back

The counts from the last replay. Your agent reads the records behind them on your key.

The same search in six US cities

Lists PyTorchAll with the title

  1. San Francisco230 / 3,161
  2. New York75 / 1,189
  3. Seattle66 / 1,166
  4. Boston45 / 536
  5. Austin33 / 474
  6. Chicago28 / 389

The light bar is everyone with the title in the city; the dark bar is the part that also lists PyTorch. Groups under 10 people are shown as <10.

Which skills the 3,161 in San Francisco list

Lists itAll 3,161

  1. Any skill listed3,161 / 3,161
  2. Python1,261 / 3,161
  3. TensorFlow245 / 3,161
  4. PyTorch230 / 3,161

All 3,161 list at least one skill, but tool names are rare: Python on 40%, TensorFlow on 7.8%, PyTorch on 7.3%. A tool filter on skills keeps only the people who wrote the tool down.

What the 1,658 open US postings for the title ask for

Names itAll 1,658 postings

  1. Python1,284 / 1,658
  2. PyTorch835 / 1,658
  3. TensorFlow585 / 1,658

Open postings in the United States whose title matches machine learning engineer, by whether the description names the tool. Postings ask for PyTorch far more often than profiles list it.

What your agent reads

The record fields the prompt asks for. This page shows field names and counts, never a record.

  • current_title
  • location.city
  • skills
  • experience.company.name
  • experience.tenure_months
  • education.school.name

Then

Where the task goes after the list.

  1. Read the shortlist

    Ask the agent to read the 25 best matches (5 API Credits) and rank them by how recently they worked with the skill, not only whether it is listed.

  2. Widen before you give up

    Skills lists are sparse. If the last step leaves too few people, match the skill in the headline or job titles as well, or add the nearest metro area.

  3. Move it to your ATS

    Have the agent write the shortlist as a table with the fields your ATS imports, so the next step happens where your team already works.

Run it

Three ways in. Each says what it costs before you start.

1 API Credit buys 25 search results or 5 full records; $1 buys 30 API Credits.

Run it in your agent

9 to 21 API Credits$0.30 to $0.70Fits in the 100 free API Credits

Your agent stops and asks before spending more than 30 API Credits.

Your agent follows the prompt step by step: it reads the rules, runs the counts, checks the definitions the prompt asks it to check, and writes the files and charts. Use an agent that can write files, such as Claude Code or Codex.

Set up onceKey, connection, and a free check. Skip this if your agent already reaches the Platform.
  1. 1Get a key

    Create a key on the Metix AI Platform →

    New accounts get 100 API Credits once, valid for 30 days. Set the key in the shell you start your agent from, or add the line to ~/.zshrc or ~/.bashrc so every new terminal has it:

    Shell
    export METIX_KEY=metix_xxxxxxxx
  2. 2Connect your agent

    Claude Code

    Registers the Platform for every project. Start claude in any folder and the ten metix tools are there.

    Shell
    : "${METIX_KEY:?run step 1 first}" &&
    claude mcp add --scope user --transport http metix \
      https://mira-api.metix.ai/mcp \
      --header "Authorization: Bearer $METIX_KEY"
    MCP setup guide →

    Codex

    Registers the same server. The key stays in your environment instead of the config file.

    Shell
    codex mcp add metix \
      --url https://mira-api.metix.ai/mcp \
      --bearer-token-env-var METIX_KEY
    MCP setup guide →

    Skills

    Four skills that teach any agent the Platform's endpoints and query rules, for agents without MCP. The installer starts with none ticked: press space on each, then enter.

    Shell
    npx skills add MetixAI-Official/metix-skills
    Skills install guide →

    Other MCP

    Point the client at this endpoint over streamable HTTP with both headers; without the Accept header the server answers 406. Older clients use /sse on the same host.

    Endpoint and headers
    https://mira-api.metix.ai/mcp
    Authorization: Bearer <your key>
    Accept: application/json, text/event-stream
    MCP setup guide →
  3. 3Check the setup

    Ask this first. It reads your balance and the field list, runs no search, and costs nothing:

    Prompt for your agent
    Use the Metix AI Platform to check my key status and read the contract; both are free. Then tell me my API Credit balance and which datasets I can query. Do not run any search.

4Paste the prompt

Start your agent in an empty folder, then paste. It writes its files there.

The question

Help me find machine learning engineers in San Francisco who work with PyTorch, using the Metix AI Platform. Work only through the public Platform (REST at https://mira-api.metix.ai, the MCP server, or the metix-skills) with the key in METIX_KEY, and never print the key.

  1. 01Read before querying

    Call GET /contract (free) and read the profile fields current_title, location.country, location.city and skills, and the operators each allows. Check the balance with GET /auth/key/status (free) at the start and at the end, and stop and ask before the run passes 30 API Credits.

  2. 02Population

    Profiles whose current_title matches "machine learning engineer". Then add, one at a time and in this order: location.country eq "United States", location.city eq "San Francisco", skills match "pytorch". All conditions sit in one all node.

  3. 03Count each step

    Send each of the four filters with size 1 and record the total. Four counts, four API Credits. Show me the four totals as a table before going further.

  4. 04Budget

    Read records only after I have seen the counts. If the last step has fewer than 10 people, say so and suggest how to widen it instead of reading.

  5. 05Compare cities (optional)

    Ask me whether to repeat the title count and the title plus skill count in New York, Seattle, Boston, Austin and Chicago. That is 10 more counts.

  6. 06Read the shortlist

    Search the last filter with size 25 and read those 25 profiles with only current_title, location.city, skills, experience and education (5 API Credits).

  7. 07Audit

    Tell me how many of the 25 are really machine learning engineers who used PyTorch in a recent role, and how many only list it. If more than a third are off target, propose a tighter filter.

  8. 08Outputs

    A table of the 25 with current title, current company, city, years in the current role and the evidence for the skill. Keep the records to our conversation; do not publish them.

  9. 09Ranking

    Order the table by how recently each person worked with the skill, then by time in role. Say what you ranked on.

  10. 10Limits

    Tell me what the search misses: people who never list skills, other titles for the same work, and people outside the city limits.

What you get

The aggregate files and the chart, a note on what the audits found and what they changed, and the API Credits the run spent, read from the balance before and after.

A call that returns 402 insufficient_quota means the key works and the balance is empty.

Reproduce the numbers

24 API Credits$0.80Fits in the 100 free API Credits

A short standard-library Python script sends the committed queries as counts and writes the aggregate files this page is built from. It needs Python and METIX_KEY set in the shell (step 1 of the agent path); your agent can run these lines for you as well. It costs more than an agent run because it also counts everything behind the charts on this page, which an agent run leaves out.

Shell
curl -fsSL https://platform.metix.ai/casebook/source/find-engineers-by-skill-and-city.tar.gz | tar xz
cd find-engineers-by-skill-and-city
: "${METIX_KEY:?set METIX_KEY first}" && python3 cases/find-engineers-by-skill-and-city/fetch.py

What you get

data/*.json and data/receipt.json. Run git diff cases/find-engineers-by-skill-and-city/data to see what moved: the numbers should match, apart from what changed in the data since the snapshot.

Adapt it

Costs what your version reads. Write your own ceiling into step 1 of the prompt.

The prompt is the case. Change the parts in this table and your agent answers your question instead, with the same checks and the same way of reporting cost.

To change Edit For example
The role Step 2, the title "data engineer", "backend engineer"
The place Step 2, the country and city "London" with "United Kingdom"
The skill Step 2, the skill "kubernetes", "rust"
The shortlist size Step 6 50 profiles cost 10 API Credits

What to ask before running it

  1. Which title, and are there other titles for the same work?
  2. Which city, and does a nearby city count?
  3. Which skill is a must-have, and which is only nice to have?

Questions

What people ask before running it.

Does this page show any candidates?

No. It shows counts only. Your agent reads the profiles on your key; nothing about a person is published here.

Why count first?

A count costs 1 API Credit and tells you whether the filter is too tight or too loose before you pay to read records.

Can I use another skill or city?

Yes. Change the title, the city and the skill in step 2 of the prompt; the cost stays about the same.

Method and limits

Who is counted, how, and what the counts miss.

Population
Profiles visible through the Metix AI Platform on September 30, 2026 whose current title matches "machine learning engineer". Counts are visible profiles, not everyone in the market.
Filters
Each step adds one condition to the step before it, all in one all node. City is the city the person lists; skills are the skills the person lists.
Limits
Many people leave their skills list short or out of date, so a skill filter undercounts. Titles vary; "ML engineer" and "applied scientist" are not included here.

The last reproduction

What reproducing this case cost the last time the script ran, read from the Platform's own balance before and after.

Ran on
2026-09-30
Calls
24
Search results
24
Records read
0
API Credits
24

Search results are IDs returned by searches, one per count query and one per match on a full search. Records are postings or profiles read in full: this case reads none.

Making this case cost about 79 API Credits more: the agent's audits, trial queries, and earlier runs that the published replay replaced. You do not pay that again.