---
type: "firecrawl-provider"
description: "Identify a company, search companies, people, and jobs, and autocomplete filter values."
use_when: "Identify a company, search the company index, or autocomplete company-search values.\n\nSearch the person index on base-profile fields, or autocomplete person-search values.\n\nSearch indexed job listings, or autocomplete job-search values."
categories: "Jobs"
capabilities: 7
pricing: "0–30 credits per billed unit; see each capability for its unit and maximum."
---
# Crustdata on Firecrawl Alexandria

Identify a company, search companies, people, and jobs, and autocomplete filter values.

- Categories: Jobs
- Category index: [Jobs category](https://alexandria.firecrawl.dev/agents/categories/jobs)
- Provider key: `crustdata`
- Access: Firecrawl credits
- Cost (Company search): 30 credits per result
- Cost (Company identify): 0 credits per call
- Cost (Company autocomplete): 0 credits per call
- Cost (Person search): 30 credits per result
- Cost (Person autocomplete): 0 credits per call
- Cost (Job search): 30 credits per result
- Cost (Job autocomplete): 0 credits per call

## More

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

## Capabilities

- [Company search](https://alexandria.firecrawl.dev/agents/providers/crustdata/companies/search): A page of companies under companies. next_cursor continues the page. total_count can be null. An empty companies array costs nothing.
- [Company identify](https://alexandria.firecrawl.dev/agents/providers/crustdata/companies/identify): A top-level array. Each row has matched_on, match_type, and matches. A miss is an empty matches array and still costs nothing.
- [Company autocomplete](https://alexandria.firecrawl.dev/agents/providers/crustdata/companies/autocomplete): Ranked suggestions. Each item has value. An empty list is a successful free call.
- [Person search](https://alexandria.firecrawl.dev/agents/providers/crustdata/people/search): A page of people under profiles. next_cursor continues the page. total_count can be null. An empty profiles array costs nothing.
- [Person autocomplete](https://alexandria.firecrawl.dev/agents/providers/crustdata/people/autocomplete): Ranked suggestions. Each item has value. An empty list is a successful free call.
- [Job search](https://alexandria.firecrawl.dev/agents/providers/crustdata/jobs/search): A page of jobs under job_listings. next_cursor continues the page. total_count can be null. aggregations is present only when requested. An empty job_listings array costs nothing.
- [Job autocomplete](https://alexandria.firecrawl.dev/agents/providers/crustdata/jobs/autocomplete): Ranked suggestions. Each item has value. An empty list is a successful free call.

## 1. Choose this provider when

Identify a company, search the company index, or autocomplete company-search values.

Search the person index on base-profile fields, or autocomplete person-search values.

Search indexed job listings, or autocomplete job-search values.

## 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": "crustdata",
  "capability": "companies/search",
  "options": {
    "limit": 1
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `filters` (object): One condition or an and/or group. Premium groups (taxonomy, followers, headcount, funding, hiring, software_reviews, maps, technographics) are rejected because one result would quote above 100 credits. Example: `{}`
- `search` (object): Ranked search. Same 0.03 credits per returned company as a filter search. Keep the query, mode, and filters stable when passing cursor. Example: `{}`
- `cursor` (string): next_cursor from the previous page. Example: `<cursor>`
- `limit` (number): Rows to return, from 1 to 3. Crustdata allows more, and this cap keeps the quote within 100 credits. Omitting it sends 1. Example: `1`
- `sorts` (object[]): Filter-only sort directives. Each item has field and order. Sorting is not an extra charge. Example: `[]`
- `fields` (string[]): Dot-paths to return. Omit for Crustdata's default, which the pricing guide bills at the 0.03 base. Premium groups are rejected. Example: `[]`

## 4. Request through your preferred interface

### JavaScript

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

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "crustdata",
  "capability": "companies/search",
  "options": {
    "limit": 1
  }
})
```

### cURL

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

### CLI

```sh
firecrawl scrape 'crustdata/companies/search' \
  --options '{"limit":1}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "crustdata",
  "capability": "companies/search",
  "options": {
    "limit": 1
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "crustdata",
  "capability": "companies/search",
  "options": {
    "limit": 1
  }
}
```

## 6. Response data

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

```json
{
  "companies": [
    {
      "crustdata_company_id": 0,
      "basic_info": {},
      "updated_at": "<updated_at>"
    }
  ]
}
```

## API reference-derived contract

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

### Company search

- Capability: `companies/search`
- Description: A page of companies under companies. next_cursor continues the page. total_count can be null. An empty companies array costs nothing.
- Instructions: Search indexed companies by base firmographics such as domain, name, revenue, or location. Each returned company costs 30 Firecrawl credits and an empty page costs nothing. limit is at most 3. Premium groups such as headcount, funding, and technographics are not accepted on this call because one of those rows quotes above 100 credits. Use companies/autocomplete for exact filter values and companies/identify to resolve a domain or name for free.
- Cost: 30 credits per result
- Capability file: [Company search](https://alexandria.firecrawl.dev/agents/providers/crustdata/companies/search)

Accepted options:
- `filters` (object): One condition or an and/or group. Premium groups (taxonomy, followers, headcount, funding, hiring, software_reviews, maps, technographics) are rejected because one result would quote above 100 credits. Example: `{}`
- `search` (object): Ranked search. Same 0.03 credits per returned company as a filter search. Keep the query, mode, and filters stable when passing cursor. Example: `{}`
- `cursor` (string): next_cursor from the previous page. Example: `<cursor>`
- `limit` (number): Rows to return, from 1 to 3. Crustdata allows more, and this cap keeps the quote within 100 credits. Omitting it sends 1. Example: `1`
- `sorts` (object[]): Filter-only sort directives. Each item has field and order. Sorting is not an extra charge. Example: `[]`
- `fields` (string[]): Dot-paths to return. Omit for Crustdata's default, which the pricing guide bills at the 0.03 base. Premium groups are rejected. Example: `[]`

Response schema example:
```json
{
  "companies": [
    {
      "crustdata_company_id": 0,
      "basic_info": {},
      "updated_at": "<updated_at>"
    }
  ]
}
```

### Company identify

- Capability: `companies/identify`
- Description: A top-level array. Each row has matched_on, match_type, and matches. A miss is an empty matches array and still costs nothing.
- Instructions: Resolve a company from one identifier type: names, domains, crustdata_company_ids, or professional_network_profile_urls. Free, including a row whose matches array is empty. The response is one row per identifier, in request order.
- Cost: 0 credits per call
- Capability file: [Company identify](https://alexandria.firecrawl.dev/agents/providers/crustdata/companies/identify)

Accepted options:
- `names` (string[]): Company names. Exactly one identifier type per call, 1 to 25 values. Example: `[]`
- `domains` (string[]): Website domains. Exactly one identifier type per call. Example: `[]`
- `crustdata_company_ids` (number[]): Crustdata company ids. Exactly one identifier type per call. Example: `[]`
- `professional_network_profile_urls` (string[]): Company profile URLs. Exactly one identifier type per call. Example: `[]`
- `fields` (string[]): Sections to include. The pricing guide bills this endpoint at zero either way. Example: `[]`
- `exact_match` (boolean): Force exact domain matching when true. Example: `false`

Response schema example:
```json
[
  {
    "matched_on": "<matched_on>",
    "match_type": "<match_type>",
    "matches": []
  }
]
```

### Company autocomplete

- Capability: `companies/autocomplete`
- Description: Ranked suggestions. Each item has value. An empty list is a successful free call.
- Instructions: Look up exact company-search filter values before paying for a page. Free. query may be empty. suggestions[].value is the string to put back into a companies/search filter.
- Cost: 0 credits per call
- Capability file: [Company autocomplete](https://alexandria.firecrawl.dev/agents/providers/crustdata/companies/autocomplete)

Accepted options:
- `field` (string, required): Company-search field to suggest, such as basic_info.industries. Example: `<field>`
- `query` (string, required): Partial text. An empty string returns the most common values. Example: `<query>`
- `limit` (number): Suggestions to return, from 1 to 100. Omitting it sends 20. Example: `20`

Response schema example:
```json
{
  "suggestions": [
    {
      "value": "<value>"
    }
  ]
}
```

### Person search

- Capability: `people/search`
- Description: A page of people under profiles. next_cursor continues the page. total_count can be null. An empty profiles array costs nothing.
- Instructions: Search people by base profile fields such as name, headline, or title. Each returned profile costs 30 Firecrawl credits and an empty page costs nothing. limit is at most 3. Experience, education, skills, and the other premium groups are not accepted because one of those rows quotes above 100 credits. Use people/autocomplete to discover exact filter values.
- Cost: 30 credits per result
- Capability file: [Person search](https://alexandria.firecrawl.dev/agents/providers/crustdata/people/search)

Accepted options:
- `filters` (object, required): One condition or an and/or group. Premium groups, including experience and education, are rejected. Example: `{}`
- `cursor` (string): next_cursor from the previous page. Example: `<cursor>`
- `limit` (number): Rows to return, from 1 to 3. Omitting it sends 1. Example: `1`
- `sorts` (object[]): Sort directives. Sorting is not an extra charge. Example: `[]`
- `fields` (string[]): Dot-paths to return. Omitting it sends base-profile paths so the call stays on the 0.03 price. Summary and languages are rejected. Example: `[]`

Response schema example:
```json
{
  "profiles": [
    {
      "crustdata_person_id": 0,
      "basic_profile": {}
    }
  ]
}
```

### Person autocomplete

- Capability: `people/autocomplete`
- Description: Ranked suggestions. Each item has value. An empty list is a successful free call.
- Instructions: Look up exact person-search filter values before paying for a page. Free. query may be empty. This returns field values, not profiles.
- Cost: 0 credits per call
- Capability file: [Person autocomplete](https://alexandria.firecrawl.dev/agents/providers/crustdata/people/autocomplete)

Accepted options:
- `field` (string, required): Person-search field to suggest, such as experience.employment_details.current.title. An unknown field is a 400 from Crustdata. Example: `<field>`
- `query` (string, required): Partial text. An empty string returns the most common values. Example: `<query>`
- `limit` (number): Suggestions to return, from 1 to 100. Omitting it sends 20. Example: `20`

Response schema example:
```json
{
  "suggestions": [
    {
      "value": "<value>"
    }
  ]
}
```

### Job search

- Capability: `jobs/search`
- Description: A page of jobs under job_listings. next_cursor continues the page. total_count can be null. aggregations is present only when requested. An empty job_listings array costs nothing.
- Instructions: Search indexed job listings. Each returned listing costs 30 Firecrawl credits. An empty page costs nothing, including a limit of 0 used for aggregations. limit is at most 3. Use jobs/autocomplete to discover exact filter values.
- Cost: 30 credits per result
- Capability file: [Job search](https://alexandria.firecrawl.dev/agents/providers/crustdata/jobs/search)

Accepted options:
- `filters` (object): One condition or an and/or group. The pricing guide bills every returned listing at 0.03 credits, with no extra group price. Example: `{}`
- `cursor` (string): next_cursor from the previous page. Example: `<cursor>`
- `limit` (number): Rows to return, from 0 to 3. 0 asks for aggregations without listings. Omitting it sends 1. Crustdata allows up to 1000, and this cap keeps the quote within 100 credits. Example: `1`
- `sorts` (object[]): Sort directives with field and order. Sorting is not an extra charge. Example: `[]`
- `fields` (string[]): Dot-paths to return, such as job_details.title. Omit to let Crustdata choose the default set. Example: `[]`
- `aggregations` (object[]): count or group_by rollups. Pair with limit 0 to skip listings. Billing follows returned job_listings, which is empty for that call. Example: `[]`

Response schema example:
```json
{
  "job_listings": [
    {
      "crustdata_job_id": "<crustdata_job_id>",
      "job_details": {},
      "company": {},
      "location": {}
    }
  ]
}
```

### Job autocomplete

- Capability: `jobs/autocomplete`
- Description: Ranked suggestions. Each item has value. An empty list is a successful free call.
- Instructions: Look up exact job-search filter values before paying for a page. Free. query may be empty. This returns field values, not job listings.
- Cost: 0 credits per call
- Capability file: [Job autocomplete](https://alexandria.firecrawl.dev/agents/providers/crustdata/jobs/autocomplete)

Accepted options:
- `field` (string, required): Job-search field to suggest, such as title or company.basic_info.name. Example: `<field>`
- `query` (string, required): Partial text. An empty string returns the most common values. Example: `<query>`
- `limit` (number): Suggestions to return, from 1 to 100. Omitting it sends 20. Example: `20`

Response schema example:
```json
{
  "suggestions": [
    {
      "value": "<value>"
    }
  ]
}
```
