Search People
Search the Crustdata person database using flexible filter conditions, sorting, and cursor-based pagination. Supports filtering on hundreds of fields including job title, company, location, seniority, industry, education, and more. Use compound conditions with AND/OR logic to build complex queries. Results can be sorted and paginated using cursors.
Pricing: 0.03 credits per result, plus a per-result charge for each premium group you filter on or receive (experience, education and skills 0.1; certifications, honors, professional network signals, languages and summary 0.2; dev platform profile filters 0.8 or 2.5, filter side only). Filtering and receiving bill independently and sorting is free. A request with no fields returns experience and education, which costs 0.23 per result on the standard plan. Your account’s prices are on /account/endpoints.
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.
Authorizations
API key passed as a Bearer token in the Authorization header.
Headers
API version to use. This endpoint currently requires 2025-11-01.
2025-11-01 "2025-11-01"
Body
Search filters, sorting, pagination, and field selection options.
Request body for /person/search. Use filters (optionally grouped with and/or), sorts, limit, and cursor pagination.
Filter criteria — a single PersonSearchCondition or a PersonSearchConditionGroup combining conditions with and, or, or all_of (cross-element matching on nested-array fields).
- Option 1
- Option 2
Sort directives applied to matched people in order.
1 <= x <= 1000Alias for limit.
1 <= x <= 100020
Pagination cursor from a previous response's next_cursor. Omit on the first page.
"H4sIACIdzWkC..."
Post-processing options applied to search results (e.g., exclusions).
Debug flag - include search query in response
Preview mode - return only basic fields for faster response
Explain an empty result. When true and a filters-only request returns total_count 0, remarks names the condition whose removal recovers profiles. Not the search.explain flag on semantic search, which returns per-hit scoring.
true
Optional list of field paths to include in each returned profile. When omitted, a default
set of profile fields is returned. Use dot notation for a nested field (for example
experience.employment_details.current.title) or a top-level family name (for example
basic_profile) to include the whole family. Each profile always includes
crustdata_person_id, even when you do not request it. A requested field with no data for
the profile is null. An unsupported value returns a 400 whose
metadata.available_fields lists every selectable field.
Response
People matching the search criteria
Paginated response from the person search endpoint containing matched profiles and pagination metadata.
Array of person profiles matching the search criteria
Machine-readable notes on this result. Always present, [] when there is nothing to say. Explain remarks appear only when the request set explain and the result is empty.
Opaque cursor string for fetching the next page of results. Pass this value as the cursor parameter in subsequent requests. Null when no more results are available.
"H4sIACIdzWkC_xWMMQ7DIAwAv..."
Total number of profiles matching the search criteria across all pages
1105055
Qualifier for total_count, indicating whether it is exact or a lower bound (for example eq for an exact count or gte when the true total is at least total_count). Currently returned as null.
null

