---
type: "firecrawl-provider"
description: "Search people, find a work email, and find lookalike companies."
use_when: "Search people for free, then reveal a work email or a phone number.\n\nPreview lookalike companies for free, or pay for a page of similar companies."
categories: "People"
capabilities: 4
pricing: "0–10 credits per billed unit; see each capability for its unit and maximum."
---
# Leadsforge on Firecrawl Alexandria

Search people, find a work email, and find lookalike companies.

- Categories: People
- Category index: [People category](https://alexandria.firecrawl.dev/agents/categories/people)
- Provider key: `leadsforge`
- Access: Firecrawl credits
- Cost (People search): 0 credits per call
- Cost (Email finder): 10 credits per record
- Cost (Lookalike preview): 0 credits per call
- Cost (Lookalike search): 10 credits per returned company

## More

- [Human guide](https://www.firecrawl.dev/app/alexandria/leadsforge)
- [OpenAPI spec](https://alexandria.firecrawl.dev/agents/providers/leadsforge/openapi.json)

## Capabilities

- [People search](https://alexandria.firecrawl.dev/agents/providers/leadsforge/people/search): leads holds id, firstName, lastName, jobTitle, location, and company firmographics. cursor continues the page. Email and phone are not included.
- [Email finder](https://alexandria.firecrawl.dev/agents/providers/leadsforge/people/email-find): status is succeeded, not_found, or failed. email is present on a hit. A not_found result costs nothing.
- [Lookalike preview](https://alexandria.firecrawl.dev/agents/providers/leadsforge/companies/lookalike-preview): companies holds name, domain, industry, description, website, and logo. totalCount is the size of the preview.
- [Lookalike search](https://alexandria.firecrawl.dev/agents/providers/leadsforge/companies/lookalike): companies holds the page. page, totalCount, and totalPages describe the result. An empty companies array costs nothing.

## 1. Choose this provider when

Search people for free, then reveal a work email or a phone number.

Preview lookalike companies for free, or pay for a page of similar companies.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "leadsforge",
  "capability": "people/search",
  "options": {
    "limit": 10
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `companyDomains` (object): Company domains to include or exclude: { include: ["stripe.com"], exclude: [] }. Example: `{}`
- `companyNames` (object): Company names to include or exclude. Matching is partial. Example: `{}`
- `companyIndustries` (object): Industries to include or exclude. Send the vendor's exact industry strings. Example: `{}`
- `leadSeniorities` (object): Seniorities to include or exclude, such as c_suite. Example: `{}`
- `leadDepartments` (object): Departments to include or exclude. Example: `{}`
- `leadJobTitles` (object): Job titles to include or exclude. Example: `{}`
- `leadLocations` (object): Person locations to include or exclude. Example: `{}`
- `companyLocations` (object): Company locations to include or exclude. Example: `{}`
- `companyEmployeeNumberRange` (object): Employee count window: { min, max }. Example: `{}`
- `limit` (number): People per page, from 1 to 25. Omitted calls request 10. The search is free. Example: `10`
- `maxContactsPerCompany` (number): Cap how many people one company can fill on the page. Example: `10`
- `cursor` (string): Opaque cursor from the previous page. Example: `<cursor>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "leadsforge",
    capability: "people/search",
    options: {
      limit: 10,
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "leadsforge",
  "capability": "people/search",
  "options": {
    "limit": 10
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "leadsforge",
    "capability": "people/search",
    "options": {
      "limit": 10
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'leadsforge/people/search' \
  --options '{"limit":10}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "leadsforge",
  "capability": "people/search",
  "options": {
    "limit": 10
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "leadsforge",
  "capability": "people/search",
  "options": {
    "limit": 10
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "leads": [
    {
      "leads": [],
      "cursor": "<cursor>",
      "warnings": []
    }
  ]
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### People search

- Capability: `people/search`
- Description: leads holds id, firstName, lastName, jobTitle, location, and company firmographics. cursor continues the page. Email and phone are not included.
- Instructions: Search people by company, title, seniority, or location. The search is free and does not return email or phone. Use the returned id with people/email-find to find a work email.
- Cost: 0 credits per call
- Capability file: [People search](https://alexandria.firecrawl.dev/agents/providers/leadsforge/people/search)

Accepted options:
- `companyDomains` (object): Company domains to include or exclude: { include: ["stripe.com"], exclude: [] }. Example: `{}`
- `companyNames` (object): Company names to include or exclude. Matching is partial. Example: `{}`
- `companyIndustries` (object): Industries to include or exclude. Send the vendor's exact industry strings. Example: `{}`
- `leadSeniorities` (object): Seniorities to include or exclude, such as c_suite. Example: `{}`
- `leadDepartments` (object): Departments to include or exclude. Example: `{}`
- `leadJobTitles` (object): Job titles to include or exclude. Example: `{}`
- `leadLocations` (object): Person locations to include or exclude. Example: `{}`
- `companyLocations` (object): Company locations to include or exclude. Example: `{}`
- `companyEmployeeNumberRange` (object): Employee count window: { min, max }. Example: `{}`
- `limit` (number): People per page, from 1 to 25. Omitted calls request 10. The search is free. Example: `10`
- `maxContactsPerCompany` (number): Cap how many people one company can fill on the page. Example: `10`
- `cursor` (string): Opaque cursor from the previous page. Example: `<cursor>`

Response schema example:
```json
{
  "leads": [
    {
      "leads": [],
      "cursor": "<cursor>",
      "warnings": []
    }
  ]
}
```

### Email finder

- Capability: `people/email-find`
- Description: status is succeeded, not_found, or failed. email is present on a hit. A not_found result costs nothing.
- Instructions: Find one work email from a person id, a profile URL, or a name and company. 10 credits when status is succeeded and email is present. A not_found result costs nothing. Use people/search first when you do not already know the person.
- Cost: 10 credits per record
- Capability file: [Email finder](https://alexandria.firecrawl.dev/agents/providers/leadsforge/people/email-find)

Accepted options:
- `personID` (string): Person id from people/search. The most reliable input. Example: `<personID>`
- `linkedinURL` (string): Profile URL, when there is no personID. Example: `<linkedinURL>`
- `firstName` (string): Given name. Send with lastName and a company. Example: `<firstName>`
- `lastName` (string): Family name. Send with firstName and a company. Example: `<lastName>`
- `companyDomain` (string): Company domain, such as stripe.com. Preferred over company. Example: `<companyDomain>`
- `company` (string): Company name, when the domain is unknown. Example: `<company>`
- `externalID` (string): Optional correlation id, at most 128 characters. It is echoed back. Example: `<externalID>`

Response schema example:
```json
{
  "status": "<status>",
  "email": "<email>",
  "personID": "<personID>",
  "channel": "<channel>",
  "externalID": "<externalID>"
}
```

### Lookalike preview

- Capability: `companies/lookalike-preview`
- Description: companies holds name, domain, industry, description, website, and logo. totalCount is the size of the preview.
- Instructions: Preview companies similar to one or more seed domains. The preview is free and returns company metadata only. Use companies/lookalike when you want a billed page of the same search.
- Cost: 0 credits per call
- Capability file: [Lookalike preview](https://alexandria.firecrawl.dev/agents/providers/leadsforge/companies/lookalike-preview)

Accepted options:
- `domains` (string[], required): Seed company domains, such as stripe.com. Example: `[]`
- `employeeRanges` (string[]): Employee-range labels, such as 201-500. Example: `[]`
- `categories` (string[]): Industry categories. Example: `[]`
- `fundingStages` (string[]): Funding stages. Example: `[]`
- `locations` (object[]): Locations as { id, type }. type is country or region. id is an ISO country code or a region id. Example: `[]`

Response schema example:
```json
{
  "companies": [
    {
      "companies": [],
      "totalCount": 0
    }
  ]
}
```

### Lookalike search

- Capability: `companies/lookalike`
- Description: companies holds the page. page, totalCount, and totalPages describe the result. An empty companies array costs nothing.
- Instructions: Find companies similar to seed domains. 10 credits per returned company. An empty page costs nothing. page_size is at most 10. Use companies/lookalike-preview to inspect the same query for free first.
- Cost: 10 credits per returned company
- Capability file: [Lookalike search](https://alexandria.firecrawl.dev/agents/providers/leadsforge/companies/lookalike)

Accepted options:
- `domains` (string[], required): Seed company domains, such as stripe.com. Example: `[]`
- `employeeRanges` (string[]): Employee-range labels, such as 201-500. Example: `[]`
- `categories` (string[]): Industry categories. Example: `[]`
- `fundingStages` (string[]): Funding stages. Example: `[]`
- `locations` (object[]): Locations as { id, type }. type is country or region. id is an ISO country code or a region id. Example: `[]`
- `page` (number): 1-based page, at most 100. Example: `1`
- `page_size` (number): Companies per page, from 1 to 10. Each returned company costs 10 credits. Omitted calls request 1. An empty page costs nothing. Example: `1`

Response schema example:
```json
{
  "companies": [
    {
      "companies": [],
      "page": 0,
      "totalCount": 0,
      "totalPages": 0
    }
  ]
}
```
