# Which endpoint should I use?

> Pick the right Reverse Contact endpoint for profile lookup, enrichment, search, and live scraping.

Not sure where to start? Tell us what you have and we'll show you the fastest way to get the data you need.

> [!TIP]
> New here? Start with [Getting started](https://docs.reversecontact.com/getting-started) to create your account and API key.

## Pick your starting point

- **I have a Social URL** → [Get their full profile](#profiles)
- **I have an email, name, or domain** → [Find the matching profile](#enrichment)
- **I have filters** (job title, location...) → [Search our database](#search)
- **I can describe the people I want in a sentence** → [Agentic Search](https://docs.reversecontact.com/endpoints/search-people-prompt)
- **I need a professional email address** → [Find an email](#contact)

## Profiles

Turn a Social URL into a complete person or company profile.

| Endpoint | Credits | Delivery | When to use |
| -------- | :-----: | :------: | ----------- |
| [`POST /v2/fetch/persons/check`](https://docs.reversecontact.com/endpoints/check-person) | 0 | Sync | Check if a person profile exists before spending credits |
| [`POST /v2/fetch/companies/check`](https://docs.reversecontact.com/endpoints/check-company) | 0 | Sync | Check if a company profile exists before spending credits |
| [`POST /v2/fetch/persons`](https://docs.reversecontact.com/endpoints/fetch-profile) | 1 | Sync | Retrieve a cached person profile. Fast and cheap |
| [`POST /v2/fetch/companies`](https://docs.reversecontact.com/endpoints/fetch-company) | 1 | Sync | Retrieve a cached company profile. Fast and cheap |
| [`POST /v2/fetch/persons/live`](https://docs.reversecontact.com/endpoints/fetch-profile-live) | 2 | Async | Force a fresh scrape when you need the latest data |
| [`POST /v2/fetch/companies/live`](https://docs.reversecontact.com/endpoints/fetch-company-live) | 2 | Async | Force a fresh scrape when you need the latest data |

> [!TIP]
> **Recommended flow:** Call **Check** first (free), then **Fetch** if the record is recent, or **Live** if it's missing or stale. See [Data freshness](https://docs.reversecontact.com/guides/data-freshness) for the full optimization strategy.

## Enrichment

Find a profile when you don't have a Social URL. Send the details you have, get the full profile back in the same response.

| Endpoint | Credits | Delivery | Input |
| -------- | :-----: | :------: | ----- |
| [`POST /v2/enrich/persons`](https://docs.reversecontact.com/endpoints/enrich-person) | 2 | Sync | Any combination of email, name, company name or domain |
| [`POST /v2/enrich/companies`](https://docs.reversecontact.com/endpoints/enrich-company) | 2 | Sync | A company domain (e.g. `acme.com`) |

> [!NOTE]
> Credits are charged only when a match is found. A not-found response (`404`) is free.

## Search

Query our database of indexed profiles with filters. No Social URL needed.

| Endpoint | Credits | Delivery | When to use |
| -------- | :-----: | :------: | ----------- |
| [`POST /v2/search/people`](https://docs.reversecontact.com/endpoints/search-people) | 1 per profile | Sync | Search people by function, seniority, title, location, company... |
| [`POST /v2/search/people/prompt`](https://docs.reversecontact.com/endpoints/search-people-prompt) | 1 per page + 1 per profile | Sync | Describe the people you want in plain language instead of building filters |
| [`POST /v2/search/people/count`](https://docs.reversecontact.com/endpoints/search-people-count) | 0 | Sync | Count matching people before spending credits |
| [`POST /v2/search/companies`](https://docs.reversecontact.com/endpoints/search-companies) | 1 | Sync | Search companies by industry, size, location... |

> [!NOTE]
> People search returns full profiles and costs 1 credit per profile delivered, so use the free count endpoint to size a query first. Company search costs 1 credit per page, up to 100 results per request.

## Contact

Find a professional email address from a LinkedIn profile URL, or from a person's full name and company domain.

| Endpoint | Credits | Delivery | When to use |
| -------- | :-----: | :------: | ----------- |
| [`POST /v2/contact/email`](https://docs.reversecontact.com/endpoints/contact-email) | 3 when found | Async webhook | Find a professional email address |

> [!NOTE]
> Find Email costs 3 credits only when an email is found.

## Sync vs async

Most endpoints return data instantly in the API response. Live endpoints and the Contact Email Finder deliver their results asynchronously.

| Delivery | How it works |
| -------- | ------------ |
| **Async** | Results pulled on demand via [polling](https://docs.reversecontact.com/guides/polling) for live endpoints, or pushed to a webhook URL ([advanced](https://docs.reversecontact.com/guides/webhooks)) |
| **Sync** | Instant JSON response |

> [!TIP]
> New to async? Start with [Polling](https://docs.reversecontact.com/guides/polling). No setup, no public endpoint, free to call. If you already run a public receiver and need push delivery, see [Webhooks](https://docs.reversecontact.com/guides/webhooks).
