Autocomplete does not take a
filters scope. Suggestions always come
from the whole dataset. If you send a filters key, the API ignores it
and returns the same suggestions as a request without it.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 45 requests per minute. Send an email to
gtm@crustdata.co to discuss higher limits if
needed for your use case.Examples
Most-common values, closed-enum fields, Autocomplete → Search
workflow.
Reference
Contract, request parameters, autocomplete-enabled fields,
implementation tips, and errors.
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: the raw string stored againstfieldin Crustdata’s person index. Use it verbatim as a Person Search filter value — two distinct indexed values (for example"VP"and"vp") are different filter keys, and substituting one for the other will return different results.
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. For request parameters, autocomplete-enabled fields, implementation tips, and errors, see the Reference 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 the field by frequency.
Useful for seeding filter dropdowns or showing popular options.Empty-query autocomplete can occasionally
return blank string values when a field has many empty indexed records.
Filter those out in your UI if you do not want a blank option.
Discover research interests for a research_profiles filter
Discover research interests for a research_profiles filter
Pass a partial interest label to get the stored spellings. Feed a returned
value into a research_profiles.research_interests filter on Person Search
with = or in. The flat name research_interests returns the same
suggestions.The
research_profiles group on Person Search is enabled per account.
Autocomplete lists these values for any key that can call the endpoint,
but the search filter returns 403 with
Access denied to fields: research_profiles without the grant.Get every value of a closed-enum field
Get every value of a closed-enum field
Some fields (for example, Feed any returned
open_to_cards and employment_type) have a
fixed, known value space. An empty query returns the full set in
declaration order — useful for populating a static dropdown or chip group
without an extra round-trip.- open_to_cards
- employment_type
open_to_cards is a closed enum of exactly three codes. The alias
professional_network.open_to_cards returns the same suggestions and is
the spelling used by the /person/search filter.value back into a professional_network.open_to_cards
filter on /person/search to find people who have surfaced that
open-to signal on their profile.Full workflow: Autocomplete → Search → Enrich
Full workflow: Autocomplete → Search → Enrich
This is the canonical end-to-end Person API workflow. Autocomplete discovers
the exact title value the Search API expects, Search finds matching people,
and Enrich fills in the details.Extract: Take Extract: Take
Result: Full person profile with employment history, education, skills,
and more. See Person Enrich for the full
response shape.See Person Search for the full filter grammar.
Step 1: Discover valid title values
suggestions[0].value → "VP Sales". Use this exact
string in your Search filter.If empty: Try a broader query (for example, "VP" instead of
"VP Sales").Step 2: Search for matching people
social_handles.professional_network_identifier.profile_url →
"https://www.linkedin.com/in/janesmith". Pass the profile URL to Enrich.If empty: Broaden filters or verify values with an earlier autocomplete
call.Step 3: Enrich the top match
Reference
Reference material for Person Autocomplete: contract vs current behavior, request parameters, autocomplete-enabled fields, implementation tips for UI builders, and errors. For walk-through examples, see the Examples above.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
Autocomplete-enabled fields
The top-levelfield in a Person Autocomplete request (the field whose
values you want suggested) must come from a fixed allowlist of
autocomplete-enabled dataset fields. Not every Person Search field is
autocomplete-enabled.
The tables below are a documented subset of the autocomplete allowlist.
They cover the fields most useful for building filter dropdowns, but they
are not exhaustive. If a field you need is not listed, treat its support
as unknown until you verify it — the safest way to confirm is to call the
endpoint with that field and check whether you get a
400 error. See
Verify the live list below for the debug-only live
source.company_name vs name for employers (current behavior). For
autocomplete, use experience.employment_details.current.name — the
company_name variant is rejected in autocomplete scope. For
/person/search filters, both current.name and current.company_name are
accepted as aliases. In response payloads, the current employer appears
under the name key.Common supported fields
- Current employment
- Past employment
- Profile & location
- Education, skills & more
- Closed-enum fields
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
Note: a
query that matches nothing is not an error — the endpoint
returns {"suggestions": []} with a 200 status. Only use 4xx/5xx handling
for actual request or server failures.
API reference summary
See the full API reference for
the complete OpenAPI schema.
What to do next
- Try more patterns: see Examples for most-common values, closed-enum fields, and the Autocomplete → Search workflow.
- Reference: see Reference for request parameters, autocomplete-enabled fields, implementation tips, and errors.
- Search for people — use discovered values in Person Search.
- Enrich matches — use Person Enrich to get full profiles after you find people.

