Skip to main content
Person Search returns up to limit profiles per request. For larger result sets, use cursor-based pagination combined with a sorts rule for deterministic ordering across pages.
Replace YOUR_API_KEY in each example with your actual API key. All requests require the x-api-version: 2025-11-01 header.

Paginate through results

When your search matches more profiles than your limit, use cursor-based pagination to walk through all pages. First page: send your normal search request.
curl --request POST \
  --url https://api.crustdata.com/person/search \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{
    "filters": {
      "field": "experience.employment_details.company_name",
      "type": "in",
      "value": ["Retool"]
    },
    "limit": 100
  }'
Next page: take the next_cursor value from the response and pass it in your next request. Keep the same filters and limit.
curl --request POST \
  --url https://api.crustdata.com/person/search \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{
    "filters": {
      "field": "experience.employment_details.company_name",
      "type": "in",
      "value": ["Retool"]
    },
    "limit": 100,
    "cursor": "PASTE_NEXT_CURSOR_VALUE_HERE"
  }'
Continue until next_cursor is null, which means you have reached the last page.
Always include sorts when paginating to ensure stable ordering across pages.

Sort results

Use the sorts parameter to order results by a specific field. This is important for stable pagination.
curl --request POST \
  --url https://api.crustdata.com/person/search \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{
    "filters": {
      "field": "experience.employment_details.current.title",
      "type": "=",
      "value": "CEO"
    },
    "sorts": [{"field": "professional_network.connections", "order": "desc"}],
    "limit": 5,
    "fields": ["basic_profile.name", "professional_network.connections"]
  }'
Valid sortable fields include: crustdata_person_id, basic_profile.name, professional_network.connections, experience.employment_details.start_date, experience.employment_details.company_id, metadata.updated_at. For the full list of searchable (and sortable) fields, see Search reference.

Next steps