For the complete documentation index, see llms.txt. This page is also available as Markdown.

Choosing How to Collect: Collect, Enrich or Bulk Collect

Once matching records have been identified, whether through Search Filters, an Elasticsearch DSL query, or an ID, shorthand name, or URL obtained elsewhere, the next step is to retrieve the underlying data. Collect, Enrich, and Bulk Collect handle this.

All three retrieval methods perform the same core task: converting an identifier (an ID, a URL, or a query) into a complete data record. They differ in the input they require and in the number of records returned per request. Selecting the appropriate method reduces unnecessary credit consumption and simplifies integration. This guide explains each method, when to use it, and how to construct an initial query.

Overview

The key distinction to retain is this: Collect and Enrich each return a single record per request, whereas Bulk Collect returns multiple records. The remaining differences concern how the record or records are specified.

Method
Input
Output
Typical use case

Collect

An ID or a shorthand name

One record

The exact record to retrieve is already known

Enrich

A website or social media URL

One record

A URL is available (e.g., from a CRM) but no IDs

Bulk Collect

A list of IDs, filters, or an Elasticsearch DSL query

Multiple records in a single request

Hundreds or thousands of records are required

Collect requests

A Collect request is the most direct API call: a single GET request that returns a specific record. Collect requests typically follow a Search Filter or an Elasticsearch DSL query because those queries return matching IDs, not full records. Collect step converts an ID into a complete profile, including all fields documented in the data dictionary.

When to use it:

  • A company, employee, or job ID is already available from a previous search or an existing database, or you have a shorthand name.

  • Only one record is necessary per request, such as when a user views individual profiles within an application.

  • Accurate control over the returned record is essential.

Collect using a shorthand name

Collect accepts more than just numeric IDs. Many endpoints also support a shorthand name, which is a readable slug that identifies a profile on its source platform, like "apple" for a company page. This is particularly helpful when you know the company's public page but not its numeric ID.

To differentiate between them: an ID is the numeric value that Coresignal assigns to a record (e.g., 1234567), whereas a shorthand name is a human-readable slug derived from the profile's URL (e.g., apple from .../company/apple). Both options refer to the same record, and you can use either depending on which is available.

Collect selected fields

The fields parameter allows you to specify only the necessary fields instead of the entire record, reducing response size and easing subsequent processing.

You can include unlimited fields= parameters where each one adds an additional field to the response.

Enrich requests

Enrich functions similarly to Collect but requires a website or social media profile URL instead of an ID. This approach is ideal when beginning with a web address rather than an ID, which is common with CRM records, spreadsheets, and lead lists.

When to use it:

  • Enriching existing CRM or lead list records when only a company website or a profile URL is available.

  • The Coresignal ID is unavailable, and a separate search is not preferred.

  • Building a workflow in which users submit a link and expect to receive data in return.

Enrich endpoints handle different URL formats, such as URLs with or without https://, www, trailing slashes, or subdomains, and correctly resolve them to the appropriate record.

In summary

Bulk Collect requests

Collect and Enrich work well for retrieving individual records but are not practical for processing hundreds or thousands of profiles, since that would require managing many individual requests. Bulk Collect overcomes this limitation by enabling a single request to retrieve multiple records using various inputs:

  • A list of IDs

  • Search Filters

  • An Elasticsearch DSL query

Because Bulk Collect requests may return many records and consume more credits, it's advisable to first test your search filter or Elasticsearch DSL query using the standard Search or Collect endpoints. This lets you see the number of matching records before executing the bulk request.

Bulk Collect is a broader topic on its own. Unlike Collect and Enrich, it involves multiple requests to obtain data (one to submit the query and others to retrieve the files), along with dedicated POST and GET endpoints, and file management. These aspects are explained in the dedicated Bulk Collect guide.

Typical workflow

Most users combine these methods rather than picking just one:

1

Search (Search Filters or Elasticsearch DSL) to find matching IDs.

2

Collect each ID for which you want the full record, or Enrich if you're starting from a URL instead of an ID.

3

Switch to Bulk Collect when your workflow needs hundreds or thousands of records at once, instead of looping through single requests.

Resource
Text Description

Identify matching IDs using simple filters

Identify matching IDs using advanced queries

Details on credit deduction for Collect, Enrich, and Bulk Collect

A full walkthrough of bulk endpoints, webhooks, and request limits

Last updated

Was this helpful?