Skip to main content
Use this when you need to discover valid filter values before building search queries — for building filter dropdowns, validating user input, or exploring what values exist in the database. The Person Autocomplete API returns field value suggestions with document counts, helping you construct accurate Person Search filters.
POST https://api.crustdata.com/person/search/autocomplete
Replace YOUR_API_KEY in each example with your actual API key. All requests require the x-api-version: 2025-11-01 header.

Discover job title values

curl --request POST \
  --url https://api.crustdata.com/person/search/autocomplete \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{
    "field": "experience.employment_details.current.title",
    "query": "VP",
    "limit": 5
  }'
Each suggestion includes:
  • value — the exact field value you can use in a Search filter.
  • document_count — how many profiles match this value.

Get the most common values for a field

Pass an empty query to see top values by frequency:
curl --request POST \
  --url https://api.crustdata.com/person/search/autocomplete \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{
    "field": "experience.employment_details.current.title",
    "query": "",
    "limit": 5
  }'

Narrow suggestions with filters

Scope autocomplete results using optional filters. Filter values are always strings:
curl --request POST \
  --url https://api.crustdata.com/person/search/autocomplete \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{
    "field": "experience.employment_details.current.title",
    "query": "VP",
    "limit": 5,
    "filters": {
      "field": "experience.employment_details.current.company_name",
      "type": "=",
      "value": "Google"
    }
  }'
Autocomplete filter values are always strings per the API contract, even for numeric comparisons.

Common fields to autocomplete

FieldWhat it discovers
experience.employment_details.current.titleCurrent job titles
experience.employment_details.current.company_nameCurrent employer names
basic_profile.headlineLinkedIn headlines
basic_profile.location.countryCountries
experience.employment_details.current.seniority_levelSeniority levels
education.schools.schoolSchools/universities
skills.professional_network_skillsLinkedIn skills

  1. Use Autocomplete to discover the exact value: "VP of Sales" (72,230 matches).
  2. Use that value in a Person Search filter:
{
    "filters": {
        "field": "experience.employment_details.current.title",
        "type": "=",
        "value": "VP of Sales"
    }
}
This ensures your search uses exact indexed values instead of guessing.

Request parameters

ParameterTypeRequiredDescription
fieldstringYesThe field to get suggestions for. Must be a valid person search field.
querystringYesSearch text (empty string for top values by frequency).
limitintegerNoMax suggestions to return (default: 20, max: 100).
filtersobjectNoOptional filter to narrow suggestions.

Errors

StatusMeaning
400Invalid field name or malformed request.
401Invalid or missing API key.
500Internal server error.
400 — Invalid field
{
    "error": {
        "type": "invalid_request",
        "message": "Field 'invalid_field' is not valid for autocomplete. Available fields are: basic_profile.headline, experience.employment_details.current.title, ...",
        "metadata": []
    }
}

API reference summary

DetailValue
EndpointPOST /person/search/autocomplete
AuthBearer token + x-api-version: 2025-11-01
Requestfield, query, optional limit and filters.
Response{ "suggestions": [{ "value", "document_count" }] }
Errors400, 401, 500

What to do next