Use Cases - Job Posting Search API

Copy-pasteable workflows for common Job Posting Search API use cases


Use Cases

This page contains real-world workflows using the Job Posting Search API.

Each use case is designed to be:

  • ✅ Easy to copy and run
  • 🔧 Simple to customize
  • 🎯 Aligned with common customer goals

How to Use These Examples

  1. Copy the example
  2. Replace inputs (e.g. location, company_website)
  3. Run the request
📘

Need help getting started?

See the full Quickstart guide to make your first Job Posting Search API request.

Looking for more patterns? Browse the Examples page for a library of additional query examples.


❗️

Credit Usage Reminder

Each job posting returned costs 1 credit.

If your query may return many results, start with a small size (e.g. 10) and paginate using scroll_token.




🌍 Get All Job Postings in a Country

Goal: Retrieve job postings for a specific country.

When to use this:

  • Analyze hiring trends by region
  • Build geo-based prospecting lists
  • Monitor hiring activity in new markets

Example

import requests

API_KEY = "YOUR_API_KEY"
API_ENDPOINT = "https://api.peopledatalabs.com/v5/job_posting/search"

payload = {
    "location": "singapore",  # Change this to your target country
    "size": 10,
    "pretty": True
}

response = requests.post(API_ENDPOINT, json={**payload, "api_key": API_KEY})
response.raise_for_status()
print(response.text)

Customize This



🏢 Get All Job Postings from a Company

A. Single Company

Goal: Retrieve all job postings for a specific company.

When to use this:

  • Track hiring activity for a target account
  • Monitor competitor hiring
import requests

API_KEY = "YOUR_API_KEY"
API_ENDPOINT = "https://api.peopledatalabs.com/v5/job_posting/search"

payload = {
    "company_website": "stripe",  # Change this
    "size": 10,
    "pretty": True
}

response = requests.post(API_ENDPOINT, json={**payload, "api_key": API_KEY})
response.raise_for_status()
print(response.text)

B. Multiple Companies (Target Account List)

Goal: Retrieve job postings across a list of companies.

When to use this:

  • Analyze hiring across target accounts
  • Build outbound prospecting signals
  • Compare competitors
import requests

API_KEY = "YOUR_API_KEY"
API_ENDPOINT = "https://api.peopledatalabs.com/v5/job_posting/search"

payload = {
    "query": {
        "terms": {
            "company_website": [
                "stripe.com",
                "openai.com",
                "airbnb.com"
            ]
        }
    },
    "size": 10,
    "pretty": True
}

response = requests.post(API_ENDPOINT, json={**payload, "api_key": API_KEY})
response.raise_for_status()
print(response.text)

Customize This




🔗 Find Companies → Then Get Their Job Postings

Goal:

  1. Find companies matching a criteria
  2. Retrieve all job postings for those companies

Example scenario:
Find companies headquartered in San Francisco, CA with >10k employees, then get all their job postings.


Step 1: Find Companies

Use the Company Search API to retrieve companies in your target region.

import requests

API_KEY = "YOUR_API_KEY"
API_ENDPOINT = "https://api.peopledatalabs.com/v5/company/search"


payload = {
  "size": 25,
  "query": {
    "bool": {
      "must": [
        # Companies located in San Francisco, California
        {"term": {"location.metro": "san francisco, california"}},
        # Headcount of 10000 or more employees
        {"range": {"employee_count": {"gte": 10000}}}
      ]
    }
  }
}

# Get Search Results
response = requests.get(API_ENDPOINT, headers={"X-Api-Key": API_KEY}, json=payload)
response.raise_for_status()
company_response = response.json()

# Extract list of Company IDs
company_ids = [company.get("id") for company in company_response.get("data", [])]

# Print Match Results
print(f"Company IDs: {company_ids}")
print(f"Total Companies Found: {company_response.get('total', 'N/A')}")
print(f"Number of Companies Pulled: {len(company_ids)}")

(Example Results)

company_ids = [
    "MUmQQfYqtsuKmlbipURRywewO7SK",
    "2kBZISO0NiVIcCStZwrF5g2YM7xE",
    "azWjYmMaDbflV5f9Bic2QQ0RS38i",
    "OGpJ3caiC2UPrpzNTA6EHwFL1Yjc",
    ...
]

Step 2: Get Job Postings for Those Companies

import requests

API_KEY = "YOUR_API_KEY"
API_ENDPOINT = "https://api.peopledatalabs.com/v5/job_posting/search"

company_ids = [
    "MUmQQfYqtsuKmlbipURRywewO7SK",
    "2kBZISO0NiVIcCStZwrF5g2YM7xE",
    "azWjYmMaDbflV5f9Bic2QQ0RS38i",
    "OGpJ3caiC2UPrpzNTA6EHwFL1Yjc",
    # Other company IDs can be added here
]

payload = {
    "query": {
        "terms": {
            "company_id": company_ids
        }
    },
    "size": 50,
    "pretty": True
}

response = requests.post(API_ENDPOINT, json={**payload, "api_key": API_KEY})
response.raise_for_status()
print(response.text)

Why This Matters

This pattern is powerful for:

  • Territory-based prospecting
  • Market mapping
  • Lead generation workflows



📈 Use Job Postings as an Intent Signal

Goal: Identify companies showing hiring intent for a specific function so you can prioritize outreach.

Example: Find companies with newly posted SDR roles since April 9, 2026.


Example

import requests

API_KEY = "YOUR_API_KEY"
API_ENDPOINT = "https://api.peopledatalabs.com/v5/job_posting/search"

payload = {
    "title": "sdr",
    "first_seen_min": "2026-04-09",  # Change this to your lookback start date
    "is_active": True,
    "size": 25,
    "pretty": True
}

response = requests.post(API_ENDPOINT, json={**payload, "api_key": API_KEY})
response.raise_for_status()
print(response.text)

Why This Works

This pattern is useful when job postings act as a buying or growth signal.

If a company is actively hiring SDRs, AEs, recruiters, or engineers, that can indicate:

  • Team expansion
  • New budget or headcount
  • Operational pain points they may want to solve
  • A reason to prioritize outreach with a relevant message

Customize This

You can adapt this pattern for:




🚀 What to Try Next

For a comprehensive list of query patterns, see the Examples page.