Overview
As of the April 2025 release, we have added a new, free Support API alongside the Autocomplete API and the Cleaner APIs to complement the Person Search API called the Job Title Enrichment API.
What is the Job Title Enrichment API?
Use the Job Title Enrichment API to enrich a job title and return the top 5 matching job titles in our dataset along with the top 5 relevant skills related to the job title.
This allows you to easily broaden your search without the need for complex fuzzy matching and guessing. For example, instead of explicitly searching for "supply managers, supply chain managers, supply specialists and supply coordinators," you can search for "supply managers and similar job titles."
What do I have access to?
If you have a Pro plan for the Person Search API, you’ll be allocated 1,000 free credits per month or 12,000 per year with your annual plan.
If you have a Free plan for the Person Search API, you have access to 10 free credits per month to help facilitate testing.
‼️ To claim your free credits without a Pro plan, make sure to log in to your account!
Need more than 1,000 credits a month? Let us know by voting on this feature request.
Example
The example below illustrates how you might use our Python SDK to conduct a Person Search API request to find individuals with a job title like "supply manager."
import json
# See https://github.com/peopledatalabs/peopledatalabs-python
from peopledatalabs import PDLPY
# Create a client, specifying your API key
CLIENT = PDLPY(
api_key="YOUR API KEY",
)
# Set the maximum number of people to search
MAX_NUM_PEOPLE = 100
# The job title you want to enrich
JOB_TITLE = "supply manager"
# Create a parameters JSON object
QUERY_STRING = {"job_title": JOB_TITLE}
# Pass the parameters object to the Job Title Enrichment API
response = CLIENT.job_title(**QUERY_STRING)
# Check for successful response
if response.status_code == 200:
# Store enriched job title
enriched_job_title = response.json()
# Build list of job titles
job_titles = enriched_job_title["data"]["similar_job_titles"]
job_titles.insert(0, JOB_TITLE)
else:
enriched_job_title = {}
print(f"Job Title Enrichment Error for [{JOB_TITLE}]: {response.text}")
# Person Search matches
employee_matches = {}
# Check for enriched job title
if enriched_job_title:
# Create an Elasticsearch query
ES_QUERY = {
"query": {
"bool": {
"must": [
{"term": {"location_metro": "detroit, michigan"}},
{'term': {'industry': "automotive"}},
{"terms": {"job_title": job_titles}}
]
}
# Create a parameters JSON object
PARAMS = {
'query': ES_QUERY,
'size': MAX_NUM_PEOPLE
}
# Pass the parameters object to the Person Search API
response = CLIENT.person.search(**PARAMS).json()
# Check for successful response
if response["status"] == 200:
# Store matches
employee_matches = response["data"]
else:
employee_matches = {}
print(f"Person Search Error for [{JOB_TITLE}]: {response}")
print(f"Found {len(employee_matches)} employee profiles for {JOB_TITLE}.")
Where can I learn more?
- Check out our API documentation here: Job Title Enrichment API
- Get in touch with technical support here: Submit a request
Comments
0 comments
Please sign in to leave a comment.