Have a Question You Want Answered? Ask Us!Head over to the Help Center and search for your question. If you still can’t find what you’re looking for, create a support ticket and we will get it answered for you!
Do I need special access to use the Job Posting Search API?
Click to expand
Click to expand
Yes. The Job Posting Search API is currently in Beta.To use it successfully, you need:
- A valid PDL API key
- Beta access enabled for the Job Posting Search API on that key
401 Unauthorized response, first confirm that your API key is valid and that beta access has been enabled.If have access and would like to get started using the API, take a look at the Quickstart guide.What is the easiest way to make my first successful request?
Click to expand
Click to expand
Start with Field Filters, not
query.The simplest first request is usually something like:company_nametitle_rolelocation- a small
sizesuch as3or10
Should I use Field Filters or the Elasticsearch query field?
Click to expand
Click to expand
Use Field Filters when your search can be expressed with supported fields such as
company_name, company_id, title, location, title_role, is_active, or salary filters.Use query when you need Elasticsearch logic that Field Filters do not support well, such as:ORlogicmust_notexiststermsqueries across a list of values- more custom boolean or range logic
Can I use Field Filters and query in the same request?
Click to expand
Click to expand
No. You should treat these as two separate search modes.If you provide
query, all Field Filters in the same request are ignored.A good rule is:- Use Field Filters for straightforward searches
- Use
queryonly when you need more advanced Elasticsearch behavior
Are multiple Field Filters combined with AND or OR?
Click to expand
Click to expand
Field Filters are combined with
AND logic.For example, a request with company_name=openai and title=engineer returns job postings that match both conditions.If you need OR logic, use the query field with an Elasticsearch bool query.What is the most precise way to search for a company?
Click to expand
Click to expand
The most precise company filter is
company_id.In practice, the precision ladder is usually:company_namefor conveniencecompany_websiteorcompany_profileas stronger intermediate optionscompany_idfor the most exact match
company_name is convenient, but it is cleaner-backed and may not behave like a raw exact string match on the literal text you typed.company_website or company_profile are often more precise than company name alone because a company website/linkedin url is a stronger identifier, while still being easier to obtain than a PDL company ID.If you already know the PDL company ID, use company_id. If not, company_website or company_profile are great next-best options when you have either. If you only know the company name, company_name is usually the best place to start.Why did my company_name or location search behave differently from my raw input?
Click to expand
Click to expand
The
company_name input is standardized using PDL’s Company Cleaner, and the location input is standardized using PDL’s Location Cleaner.This helps normalize real-world input, but it also means the API is not always doing a literal exact string match on what you typed.In practice:company_nameis useful when you know the company by namelocationis useful for human-friendly geography searchescompany_idis the best option when you need the most precise company matching
Why are my title or description matches broader or narrower than expected?
Click to expand
Click to expand
The
title and description Field Filters use phrase-style matching behavior.That means matching is case-insensitive and supports substring-style matches, but word order still matters.For example, title=data engineer can match Senior Data Engineer, but would not match Engineer, Data.If you need more control over matching behavior, use the query field.How do date field filters work?
Click to expand
Click to expand
Date field filters such as
first_seen_min, first_seen_max, deactivated_date_min, deactivated_date_max, last_verified_min, and last_verified_max expect dates in YYYY-MM-DD format.Use:*_minfor inclusive lower bounds*_maxfor inclusive upper bounds
first_seen_min=2026-01-01means records first seen on or after2026-01-01first_seen_max=2026-01-31means records first seen on or before2026-01-31
query field.How are credits charged?
Click to expand
Click to expand
The Job Posting Search API uses 1 credit for each job posting record returned in the
data array.For example:- If a request returns 3 records, it uses 3 credits
- If a request returns 25 records, it uses 25 credits
200 status code, no credits are consumed.How can I control credit usage?
Click to expand
Click to expand
The safest way to control spend is to start with a small
size value and inspect the results before expanding the query.A practical workflow is:- Start with
size=3orsize=10 - Confirm that the records match what you expect
- Increase
sizeor paginate only when needed
Why does total show more matches than I received in data?
Click to expand
Click to expand
total is the total number of records in the dataset that match your query.data only contains the current batch of records returned in that response.For example, if total=673 and size=3, the response may include only 3 records in data, even though 673 total records matched.To retrieve additional records, use the returned scroll_token.How do I get more than 100 results?
Click to expand
Click to expand
Use
size to control how many records are returned in one response, up to a maximum of 100.If your query matches more records than fit in one response, use the returned scroll_token to request the next batch.Keep sending the same query with the newest scroll_token until you have the records you need or pagination is complete.For a working example, see the Bulk Retrieval Examples.Can I search across multiple companies in one request?
Click to expand
Click to expand
Yes, but usually through the
query field rather than parameterized Field Filters alone.The most precise pattern is to use a terms query on company_id when you want to search across a list of companies in a single request.See Search Across Multiple Companies for an example.What should I look at first in the response?
Click to expand
Click to expand
Most first-time users should focus on these three response fields first:
data: the job posting records returned in the current responsetotal: the full number of dataset records matching your queryscroll_token: the token used to retrieve the next batch of results
