This page collects examples for Job Autocomplete.
Each example is a full working request you can copy, paste, and adapt.
For the core walkthrough (quick start, response shape), see
Job Autocomplete. For request
parameters, autocomplete-enabled fields, and errors, see
Autocomplete reference.
Replace YOUR_API_KEY in each example with your actual API key. All
requests require the x-api-version: 2025-11-01 header.
Get the most common values for a field
Pass an empty query to retrieve the top values for a field, ranked. This
is ideal for a controlled vocabulary like category — it returns the full
set of categories without an extra round-trip, perfect for seeding a filter
dropdown.
curl --request POST \
--url https://api.crustdata.com/job/search/autocomplete \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"field": "category",
"query": "",
"limit": 8
}'
Autocomplete job titles
Free-text fields like title have a large value space. Pass a partial
query to power a type-ahead input.
curl --request POST \
--url https://api.crustdata.com/job/search/autocomplete \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"field": "title",
"query": "Software",
"limit": 6
}'
Autocomplete companies and locations
The same endpoint works for company names and locations. Use company.name
to suggest hiring companies, or location.country to suggest countries.
Company name
Location (country)
curl --request POST \
--url https://api.crustdata.com/job/search/autocomplete \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"field": "company.name",
"query": "Strip",
"limit": 5
}'
curl --request POST \
--url https://api.crustdata.com/job/search/autocomplete \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"field": "location.country",
"query": "United",
"limit": 5
}'
Note that a single country can have several indexed spellings (for
example, United States and United States of America). When you filter
Search Jobs, pass all the variants you care about with the in operator.
Full workflow: Autocomplete → Search
Autocomplete discovers the exact value Search Jobs expects, then Search finds
matching listings.
Step 1: Discover a valid category value
curl --request POST \
--url https://api.crustdata.com/job/search/autocomplete \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{"field": "category", "query": "Eng", "limit": 3}'
Extract: Take suggestions[0].value → "Engineering". Use this exact
string in your Search filter.
Step 2: Search for matching jobs
curl --request POST \
--url https://api.crustdata.com/job/search \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"filters": { "field": "job_details.category", "type": "=", "value": "Engineering" },
"fields": ["job_details.title", "company.basic_info.name", "location.raw"],
"limit": 1
}'
See Search Jobs for the full filter grammar,
and Examples for more end-to-end recipes.
Next steps