Talent mapping: what it is, and how to map a competitor's org from its job postings
Talent mapping builds a picture of where the people you need sit before there is a role to fill. The external half can be done from public data: a competitor's open and closed postings, read by function, seniority, location and technology, is an org chart in draft. This guide defines the term, walks through the query sequence and the fields each call returns, and separates talent mapping from talent intelligence.
Dvir Atias
Founder, JobsPipe
Recruiters use “talent mapping” for two things that share a name and little else. One is internal: a grid of who in the company could step into which role. The other is external: a picture of how a competitor is organised, what it hires for, where, and at what level, built before a requisition exists. The second one can be done from public data, and this guide shows how, with the requests and the fields that come back.
What is talent mapping?
Talent mapping is the practice of building a picture of where the people you need sit, inside your own organisation and at competitors, before there is a role to fill. It covers which teams a company has, how they are structured, what they pay, where they are located and what skills they hire for, so recruiting can be proactive rather than reactive.
Internal talent mapping draws on performance and skills data you already hold and produces succession plans. External talent mapping draws on whatever a competitor makes public, and the richest public source by far is its job postings. A posting states the function, the seniority, the location, often the tools and sometimes the salary, and a company’s full set of postings over a few months is a draft of its org chart with the growth areas highlighted.
How to map a competitor’s org from its job postings
The example uses the company from the JobsPipe API documentation, Acme Robotics, so the requests run unchanged against your own key. Swap in any company name or domain. The whole sequence is five requests to POST /v1/jobs/search plus one to the company endpoint.
Step 1: pull every open and recently closed role
Ask for everything, not only what is open today. Closed roles show what the company has already filled, which is the part of the org chart that exists rather than the part being built. status accepts active, closed or any, and the partial-match filter catches subsidiary and regional naming variants.
curl -X POST https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer $JOBSPIPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"company_name_partial_match_or": ["Acme Robotics"],
"status": "any",
"limit": 100
}'Each record returns the fields the map is built from:
job_titleandnormalized_title, the posted title and the cleaned one used for grouping.job_function,seniorityandis_manager, which place the role in a function, at a level from entry to exec, and mark whether it manages people.location,country_code,citiesandremote, which place it on the map.technology_slugsandkeyword_slugs, the tools and skills the posting names.min_annual_salary_usdandmax_annual_salary_usdwhere the posting states pay, and the estimated benchmark fields where it does not.date_posted,discovered_at,status,closed_atandclosed_reason, the lifecycle.company_objectwithemployee_count, headquarters location and founding year where known.
The company record itself is one more call. It accepts a domain or a name and returns headcount, headquarters, description and the LinkedIn page, which is the header row of the map.
curl https://api.jobspipe.dev/v1/companies/acme.com \
-H "Authorization: Bearer $JOBSPIPE_API_KEY"Step 2: build the grid
Group the records by job_function across the columns and seniority down the rows. The cells with open roles are where the company is growing; the cells with only closed roles are teams that exist and are stable; the empty cells are functions the company either does not have or fills without posting. Count is_manager per function to estimate team count, since a company posting for two engineering managers is building at least two teams.
Step 3: place the teams
Group the same records by cities and country_code. A function that posts only in one city is a hub; a function that posts as remote everywhere is distributed. A first posting in a new country is an expansion signal in its own right, and the trigger events post covers how early postings show it.
Step 4: read the stack
Union the technology_slugs across engineering postings and you have the stack the company hires for, which is close to the stack it runs. To check a specific technology across several competitors at once, flip the query around and filter on the skill.
curl -X POST https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer $JOBSPIPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"company_name_or": ["Acme Robotics", "Globex", "Initech"],
"skills_or": ["kubernetes", "rust"],
"status": "any",
"limit": 100
}'Step 5: read the base rates
A map of one company needs a scale. Across companies with an active posting on the ten boards JobsPipe collects, 41.5% have exactly one role open, 10.3% are hiring in three or more functions, and only 2.2% have three or more engineering roles open at once. A competitor with five open engineering roles is not merely busy; it is in a small minority of hiring companies by that measure.
Step 6: keep the map current
Rerun the first request on a schedule with discovered_at_gte set to your last run and you get only the postings JobsPipe has seen since, which is the change to the map rather than the map again. Or save the filter in Signals and have new postings from the mapped companies arrive by email, Slack or webhook.
Talent mapping vs talent intelligence
Talent mapping is an activity with an output: a map of one organisation or a handful of them, built for a specific hiring plan. Talent intelligence is the category of data and software the activity draws on, from profile databases to postings feeds to the platforms that package both. Every talent mapping exercise uses talent intelligence; most talent intelligence is used for things other than mapping, such as sourcing, compensation and workforce planning. The talent intelligence platforms comparison covers the software side, and the glossary entry the definition.
What postings cannot tell you
A map built from postings is a map of change, not of state. It shows the roles a company opened and closed in the collected window, not the people already in seat, so a stable team that has not hired in months is invisible. Some companies fill roles through agencies, and the employer_type field separates agency postings from the employer’s own. And coverage is the ten boards JobsPipe collects, so a company that posts only on its own careers page outside those systems is under-mapped. Read the postings map beside a profile source for headcount, and treat it as the leading edge rather than the census.
Map any company’s hiring from its postings - free tier, key in 30 seconds.
Get a free API keyFrequently Asked Questions
What is talent mapping?
Talent mapping is the practice of building a picture of where the people you need sit, inside your own organisation and at competitors, before there is a role to fill. It covers which teams a company has, how they are structured, what they pay, where they are located and which skills they hire for, so that recruiting can be proactive rather than reactive.
What is the difference between internal and external talent mapping?
Internal talent mapping uses performance and skills data the company already holds to plan succession and mobility. External talent mapping uses public data, mainly a competitor's job postings, to draft its org chart, growth areas, locations and technology stack. Both share a name; only the external one can be done from outside.
How do you map a competitor's organisation from job postings?
Pull every open and recently closed posting for the company with status set to any, group the records by job_function and seniority to build the grid, group by cities and country_code to place the teams, union technology_slugs for the stack, compare the counts against the share of hiring companies showing each pattern, and rerun with discovered_at_gte to keep the map current.
What fields does a job posting return for talent mapping?
Each JobsPipe record carries job_title and normalized_title, job_function, seniority and is_manager, location, country_code, cities and remote, technology_slugs and keyword_slugs, stated or estimated salary fields, date_posted, discovered_at, status, closed_at and closed_reason, and a company_object with headcount, headquarters and founding year where known.
What is the difference between talent mapping and talent intelligence?
Talent mapping is an activity with a specific output, a map of one or a few organisations built for a hiring plan. Talent intelligence is the category of data and software the activity draws on, including profile databases, postings feeds and the platforms that package them. Every mapping exercise uses talent intelligence; most talent intelligence is used for sourcing, compensation and planning instead.
What can job postings not tell you in talent mapping?
Postings show change, not state. A stable team that has not hired in the collected window is invisible, agency postings need the employer_type filter to separate from the employer's own, and coverage is limited to the boards collected. Read a postings map beside a profile source for headcount and treat it as the leading edge rather than a census.

