Replace
YOUR_API_KEY in each example with your actual API key. All
requests require the x-api-version: 2025-11-01 header.At a glance
Default
rate-limit is 30 requests per minute. Send an email to
gtm@crustdata.co to discuss higher limits if
needed for your use case.When to use Autocomplete vs Search
Quick start: discover job title values
Type-ahead lookup on a single field. Pass the user’s partial input asquery and cap the dropdown size with limit.
value— the exact indexed value stored againstfield. Use it verbatim as a Search Jobs filter value.
query, the response returns an empty array — not
a 404:
No results
Examples
Worked recipes you can copy, paste, and adapt. Each example is a full working request you can adapt to your own fields and filters. For the core walkthrough (quick start, response shape), see the Quick start above. For request parameters, autocomplete-enabled fields, and errors, see the reference sections below.Get the most common values for a field
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.Autocomplete job titles
Autocomplete job titles
Free-text fields like
title have a large value space. Pass a partial
query to power a type-ahead input.Autocomplete companies and locations
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)
Full workflow: Autocomplete → Search
Full workflow: Autocomplete → Search
Autocomplete discovers the exact value Search Jobs expects, then Search finds
matching listings.Extract: Take See Search Jobs for the full filter grammar,
and Examples for more end-to-end recipes.
Step 1: Discover a valid category value
suggestions[0].value → "Engineering". Use this exact
string in your Search filter.Step 2: Search for matching jobs
Guaranteed contract vs current behavior
Use this table to separate the parts you can build against with confidence from the observed behavior that may evolve.Request parameters
Unlike Person Autocomplete, Job
Autocomplete does not accept a
filters scope. The request body is just
field, query, and limit.Autocomplete-enabled fields
Thefield in a Job Autocomplete request must come from a fixed
allowlist. Many entries are aliases of one another — for example title,
job_title, and job_details.title all autocomplete job titles, so you can
use whichever spelling matches the filter path you use on
Search Jobs.
- Job
- Company
- Location
Verify the live list
Call the endpoint with a deliberately invalidfield. The 400 response
lists every currently accepted field in its error message:
Implementation tips for UI builders
Errors
Every error uses the nested envelope
{ "error": { "type", "message", "metadata" } }. A query that matches
nothing is not an error — the endpoint returns {"suggestions": []} with
a 200 status.
API reference summary
See the full API reference for the
complete OpenAPI schema.
What to do next
- Try more patterns — see the Examples above for most-common values, company and location autocomplete, and the Autocomplete → Search workflow.
- Reference — see the request parameters, autocomplete-enabled fields, implementation tips, and errors above.
- Search for jobs — use discovered values in Search Jobs.

