When should I use Search?
Use Search when you need a small number of records back in a single, low-latency call:- Real-time lookups, such as enriching a lead the moment it hits the CRM.
- Feeding live records into AI agents or LLM apps.
- Sales prospecting by name, title, company or location.
- Sampling a dataset before buying, with
"sort": "random". - Any workload that needs up to 1,000 records back in one call.
Run your first Search query
Send aPOST request to /datasets/search/:dataset_id with a filter object. The example below searches the LinkedIn people profiles dataset for records whose name includes Egor:
Which datasets does Search support?
Search is in alpha and currently supports three LinkedIn datasets. For any other dataset, use Filter.Amazon datasets are next. More datasets are rolling out toward general availability in Q3 2026. Passing an unsupported
dataset_id to Search returns a 404.How do I authenticate?
Search uses Bearer token authentication. Pass your API key in theAuthorization header:
What parameters does Search accept?
What does Search return?
How do I sort and paginate?
Setsort to control ordering, and use the returned search_after cursor to page through results.
Sample a dataset with random sort
Use"sort": "random" to pull a representative sample, for example before buying a dataset:
Page through results with search_after
Set"sort": "default" to get a search_after cursor in the response. Request the first page:
search_after array back to fetch the next page:
Sort by a custom field
Pass an array of field-to-direction objects to sort by a specific field:How much does Search cost?
Search costs $2.5 CPM (per 1,000 records returned), the same rate as the Marketplace. There is no charge when the filter returns 0 records.What errors can Search return?
FAQ
Does Search support CSV or JSON file uploads?
No. Elasticsearch cannot read external files at query time. To filter against thousands of values in a CSV or JSON file, use the Filter endpoint.How many records can Search return in one call?
Search is best for up to 1,000 records per call. For larger pulls, use Filter, which is snapshot-based and supports bulk exports.Why do Search and Filter return slightly different results?
The two endpoints use different engines. Elasticsearch tokenizes text differently from the snapshot engine, so free-text matches can differ. On free-text fields, prefer theincludes operator over =.