> For the complete documentation index, see [llms.txt](https://docs.coresignal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coresignal.com/guides/quickstart-guide.md).

# Quickstart Guide

Create an account, find your API key, and make your first Coresignal data request.

This guide walks new users through setting up and making their first successful request for Coresignal data via no-code tools, natural language search, or the API directly, and explains where to find the reference material you'll need along the way.

## Create an account

Start by creating an account. You will be able to access dashboard tools and obtain your API key, which is required to make requests and access data.

1. Sign up at Coresignal's [dashboard](https://dashboard.coresignal.com/sign-up).
2. You'll land on a [free trial](/pricing/pricing.md#free-trial) with 2,000 credits to explore with.
3. Find your API key on the dashboard Home page, under API keys.<br>

   <figure><img src="https://1856228217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGm9dJ1kZAi8Fay0jxwJ%2Fuploads%2FNcyVEuf061pHXj3pWgJS%2Fimage.png?alt=media&amp;token=e31a1a6d-1f73-4d2f-ac4a-a1158d7827f4" alt="" width="372"><figcaption></figcaption></figure>

## Make your first request

Choose the route that fits your workflow. Use dashboard tools to explore data without code, or call the API directly when you are ready to integrate.

### Get started with no-code tools

You don't have to start with raw API calls. Coresignal's dashboard includes several no-code tools for exploring data, and their real value for a developer isn't just previewing results – most of them can also generate a ready-made Elasticsearch DSL query you can paste directly into your code. Here are the no-code tools available in Coresignal's dashboard:

* [**AI Data Search**](/self-service/features-and-tools/ai-data-search.md) – a chat-style tool. Describe what you want in plain English, and it finds matching records across company, employee, and jobs data. It returns a list of data that can be expanded using the enrichment feature.<br>

  <figure><img src="https://1856228217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGm9dJ1kZAi8Fay0jxwJ%2Fuploads%2FHicpW0uFIbnzdzBDvkJi%2Fimage.png?alt=media&amp;token=91bf08af-d94c-4183-ad9b-1759bc5b53cd" alt=""><figcaption></figcaption></figure>
* [**API Playgrounds**](/self-service/features-and-tools/api-playgrounds.md) – browser-based tools for each API that guide you through building search and collect requests and returns one full record. Playgrounds generate equivalent requests in multiple formats (cURL, Python, Node.js, Ruby, and PHP) and return the response immediately.<br>

  <figure><img src="https://1856228217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGm9dJ1kZAi8Fay0jxwJ%2Fuploads%2FFhRnR8ddwass555om6J2%2Fimage.png?alt=media&amp;token=40043972-8c77-4ab2-9cfc-41afe943bebb" alt=""><figcaption></figcaption></figure>
* [**Agentic Search API Playground**](/self-service/features-and-tools/agentic-search-api-playground.md) – a dedicated no-code interface for the [Agentic Search API](/agentic-search-api/agentic-search-api.md). The API is effective for data exploration, offering preview fields and a generated Elasticsearch query suitable for multi-source APIs. The response panel also shows the total number of matches and a live request preview in cURL, Python, or Node.js, which can be easily copied into your code.<br>

  <figure><img src="https://1856228217-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGm9dJ1kZAi8Fay0jxwJ%2Fuploads%2FOrxHQLnczWNapprbmUIC%2Fimage.png?alt=media&amp;token=be8db91f-0d15-46a6-bedc-c4036e02a4e4" alt=""><figcaption></figcaption></figure>

### Explore APIs flow

Once you have your API key, there are a few ways to make API requests, such as using the terminal, Postman, or API Playgrounds in Coresignal's [dashboard](https://dashboard.coresignal.com/sign-up).

The common pattern across all Coresignal APIs is Search, then Collect. However, in some cases, only one request is needed to see a data preview, so always check the flows of the selected API and endpoint.

* **Search** – send a query describing what you're looking for and receive a list of matching record IDs. This doesn't give you full data yet, only IDs. Search using search filters and Elasticsearch DSL is free.
* **Collect** – use one of those IDs and retrieve the full record. Collect requests cost credits and return the most recent available data. If you need to collect multiple records at once, you need to use Bulk Collect request.

See the [Employee Posts API](/employee-api/employee-posts-api.md) example below.

{% stepper %}
{% step %}

#### Search for matching companies

The request returns an array of matching company IDs. This step uses the `/search/filter` endpoint, which accepts simple filters (e.g., `name`, `website`, `industry`, `location`, etc.). If you want more powerful boolean or fuzzy logic later, there's also a `/search/es_dsl` endpoint that accepts full Elasticsearch DSL queries.

{% tabs %}
{% tab title="Curl" %}
{% code title="" expandable="true" %}

```json
curl -X 'POST' \
  'https://api.coresignal.com/cdapi/v2/employee_post/search/filter' \
  -H 'accept: application/json' \
  -H 'apikey: {API key}' \
  -H 'Content-Type: application/json' \
  -d '{
  "article_body": "Robotics innovations of 2026",
  "date_published_gte": "2026-07-01"
}'
```

{% endcode %}
{% endtab %}

{% tab title="Python" %}
{% code title="" expandable="true" %}

```python
import requests

headers = {"apikey": "YOUR_API_KEY"}

# 1. Search
search_resp = requests.post(
    "https://api.coresignal.com/cdapi/v2/employee_post/search/filter",
    headers=headers,
    json={"article_body": "Robotics innovations of 2026", "date_published_gte": "2026-07-01"},
)
company_ids = search_resp.json()
```

{% endcode %}
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

#### Collect the full record for one ID

Take any ID from the search response and replace `{post_id}`. Request returns the full record with every field for that employee post.

{% tabs %}
{% tab title="Curl" %}
{% code title="" expandable="true" %}

```json
curl -X 'GET' \
  'https://api.coresignal.com/cdapi/v2/employee_post/collect/{post_id}' \
  -H 'accept: application/json' \
  -H 'apikey: {API key}'
```

{% endcode %}
{% endtab %}

{% tab title="Python" %}
{% code title="" expandable="true" %}

```python
import requests

headers = {"apikey": "YOUR_API_KEY"}

# 2. Collect the first result
company_id = company_ids[0]
collect_resp = requests.get(
    f"https://api.coresignal.com/cdapi/v2/employee_post/collect/{post_id}",
    headers=headers,
)
print(collect_resp.json())
```

{% endcode %}
{% endtab %}
{% endtabs %}
{% endstep %}
{% endstepper %}

## What can I find in a dataset?

You can explore the available structure of any dataset or API using the provided data dictionaries and sample pages. Use the dictionary when you need to know what a specific field means or is called, and check the sample to see what you're actually going to get back before you write any code. Recommended order when starting with a new dataset: skim the sample first to see the big picture, then check the dictionary for the specific fields you plan to use.

A **data dictionary** is the field-by-field reference for one specific dataset or API. Before you build a query, this is what tells you what you can actually ask for and what you'll get back.

| Column      | What it tells you                                  |
| ----------- | -------------------------------------------------- |
| Data field  | The literal JSON key (e.g. `employees_count`)      |
| Description | What the field means, returns, and related details |
| Data type   | String, Integer, Boolean, Array of objects, etc.   |

A **sample page** shows one complete record – every category stitched together, exactly as you'd receive it from a Collect request. Where the dictionary shows you field-by-field snippets scattered across sections, the sample shows the whole thing assembled, so you can see:

* The actual overall structure – root-level and nested data fields
* How all the categories relate to each other in one response

{% hint style="info" %}

#### Why this matters before you query

Skipping a dictionary check could lead you to expect fields that aren't present or to overlook that a chosen field could be nested within an array rather than a root-level field.
{% endhint %}

## Where to go next

Check the following resources as you move from exploration to integrations. Start with query syntax, then review limits and error handling before scaling collection.

<table data-search="false"><thead><tr><th>Need</th><th>Go to</th></tr></thead><tbody><tr><td>Full list of every doc page</td><td><a href="https://docs.coresignal.com/llms.txt">llms.txt</a> or <a href="https://docs.coresignal.com/llms-full.txt">llms-full.txt</a></td></tr><tr><td>Ask a direct question about anything in the docs</td><td>The <button type="button" class="button primary" data-action="ask" data-icon="gitbook-assistant">Ask a question…</button> button at the top of any doc page</td></tr><tr><td>Query syntax beyond simple filters</td><td><a href="/api-introduction/requests/elasticsearch-dsl.md">Elasticsearch DSL</a></td></tr><tr><td>Pulling many records at once</td><td><a href="/api-introduction/requests/bulk-collect.md">Bulk Collect</a></td></tr><tr><td>Rate limits / error codes</td><td><a href="/api-introduction/rate-limits.md">Rate Limits</a> · <a href="/api-introduction/response-codes.md">Response Codes</a></td></tr><tr><td>Plans and pricing</td><td><a href="https://coresignal.com/pricing/">coresignal.com/pricing</a></td></tr><tr><td>If you can't find the information, contact us</td><td><a href="https://coresignal.com/contact-us/">coresignal.com/contact-us/</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coresignal.com/guides/quickstart-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
