---
type: "firecrawl-provider"
description: "Verify a work email, or find one from a name and domain or a LinkedIn profile URL."
use_when: "Verify one work email, or find a work email from a name and domain or a LinkedIn profile URL."
categories: "People"
capabilities: 3
pricing: "10–18 credits per billed unit; see each capability for its unit and maximum."
---
# Filtrat on Firecrawl Alexandria

Verify a work email, or find one from a name and domain or a LinkedIn profile URL.

- Categories: People
- Category index: [People category](https://alexandria.firecrawl.dev/agents/categories/people)
- Provider key: `filtrat`
- Access: Firecrawl credits
- Cost (Email verification): 10 credits per completed verification
- Cost (Email finder): 13 credits per email found
- Cost (Email finder from LinkedIn): 18 credits per profile read or email found

## More

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

## Capabilities

- [Email verification](https://alexandria.firecrawl.dev/agents/providers/filtrat/people/email-verify): One verification. credits_used is the vendor charge and is 0 when the result is free. credits_remaining is the deployment account's balance after the call, not the caller's Firecrawl balance. is_cached is true when the result was served from cache.
- [Email finder](https://alexandria.firecrawl.dev/agents/providers/filtrat/people/email-find): One search. status is found or not_found. found_email is null when nothing was found, and that call costs nothing when credits_used is 0. credits_remaining is the deployment account's balance after the call, not the caller's Firecrawl balance.
- [Email finder from LinkedIn](https://alexandria.firecrawl.dev/agents/providers/filtrat/people/email-find-linkedin): One search. status is found or not_found. found_email is null when nothing was found, and that call costs nothing when credits_used is 0. credits_remaining is the deployment account's balance after the call, not the caller's Firecrawl balance.

## 1. Choose this provider when

Verify one work email, or find a work email from a name and domain or a LinkedIn profile URL.

## 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": "filtrat",
  "capability": "people/email-verify",
  "options": {
    "email": "<email>",
    "resolve_catchall": false,
    "skip_cache": false
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `email` (string, required): Email address to verify. Filtrat lowercases and trims it. Example: `<email>`
- `resolve_catchall` (boolean): When true, resolve a catch-all address to verified or invalid. That answer is 5 vendor credits in all, not on top of the 1-credit check, and only when the resolution is definite. An unresolved catch-all stays free. Default false. Example: `false`
- `skip_cache` (boolean): When true, skip the 180-day result cache and run a fresh check. A cached result is free. Default false. Example: `false`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "filtrat",
    capability: "people/email-verify",
    options: {
      email: "<email>",
      resolve_catchall: false,
      skip_cache: false,
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "filtrat",
  "capability": "people/email-verify",
  "options": {
    "email": "<email>",
    "resolve_catchall": False,
    "skip_cache": False
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "filtrat",
    "capability": "people/email-verify",
    "options": {
      "email": "<email>",
      "resolve_catchall": false,
      "skip_cache": false
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'filtrat/people/email-verify' \
  --options '{"email":"<email>","resolve_catchall":false,"skip_cache":false}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "filtrat",
  "capability": "people/email-verify",
  "options": {
    "email": "<email>",
    "resolve_catchall": false,
    "skip_cache": false
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "filtrat",
  "capability": "people/email-verify",
  "options": {
    "email": "<email>",
    "resolve_catchall": false,
    "skip_cache": false
  }
}
```

## 6. Response data

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

```json
{
  "email": "<email>",
  "status": "<status>",
  "confidence": 0,
  "syntax_valid": false,
  "disposable": false,
  "role_account": false,
  "domain_intelligence": {},
  "diagnosis": "<diagnosis>",
  "catchall_resolved": false,
  "is_cached": false,
  "credits_used": 0,
  "credits_list": 0,
  "credits_remaining": 0
}
```

## API reference-derived contract

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

### Email verification

- Capability: `people/email-verify`
- Description: One verification. credits_used is the vendor charge and is 0 when the result is free. credits_remaining is the deployment account's balance after the call, not the caller's Firecrawl balance. is_cached is true when the result was served from cache.
- Instructions: Check one email address. status is verified, invalid, catchall, risky, or unknown. 10 Firecrawl credits when Filtrat charges for a verified, invalid, or resolved catch-all result. A miss and a cached recheck cost nothing. Use people/email-find when you have a name and domain and need the address.
- Cost: 10 credits per completed verification
- Capability file: [Email verification](https://alexandria.firecrawl.dev/agents/providers/filtrat/people/email-verify)

Accepted options:
- `email` (string, required): Email address to verify. Filtrat lowercases and trims it. Example: `<email>`
- `resolve_catchall` (boolean): When true, resolve a catch-all address to verified or invalid. That answer is 5 vendor credits in all, not on top of the 1-credit check, and only when the resolution is definite. An unresolved catch-all stays free. Default false. Example: `false`
- `skip_cache` (boolean): When true, skip the 180-day result cache and run a fresh check. A cached result is free. Default false. Example: `false`

Response schema example:
```json
{
  "email": "<email>",
  "status": "<status>",
  "confidence": 0,
  "syntax_valid": false,
  "disposable": false,
  "role_account": false,
  "domain_intelligence": {},
  "diagnosis": "<diagnosis>",
  "catchall_resolved": false,
  "is_cached": false,
  "credits_used": 0,
  "credits_list": 0,
  "credits_remaining": 0
}
```

### Email finder

- Capability: `people/email-find`
- Description: One search. status is found or not_found. found_email is null when nothing was found, and that call costs nothing when credits_used is 0. credits_remaining is the deployment account's balance after the call, not the caller's Firecrawl balance.
- Instructions: Find one person's work email from their name and company domain. Pass company_name and linkedin_url when you have them. 10 Firecrawl credits when Filtrat charges 20 vendor credits for a found address, and 13 when catch-all resolution confirms it at 25. A miss costs nothing. Use people/email-verify when you already have the address. Use people/email-find-linkedin to start from a LinkedIn profile URL.
- Cost: 13 credits per email found
- Capability file: [Email finder](https://alexandria.firecrawl.dev/agents/providers/filtrat/people/email-find)

Accepted options:
- `full_name` (string): Full name. Use this or both first_name and last_name. Example: `<full_name>`
- `first_name` (string): Given name. Send it with last_name. Example: `<first_name>`
- `last_name` (string): Family name. Send it with first_name. Example: `<last_name>`
- `domain` (string, required): Company domain or website URL, such as stripe.com or https://stripe.com/about. Example: `<domain>`
- `company_name` (string): Company name. Used when the website domain does not receive mail. Example: `<company_name>`
- `company_country` (string): Company headquarters country, used to tell similarly named companies apart. Example: `<company_country>`
- `linkedin_url` (string): LinkedIn profile URL. Completes a shortened last name and is a fallback when the name search misses. Example: `<linkedin_url>`
- `skip_cache` (boolean): When true, skip a cached result and search again. A cached recheck is free. Default false. Example: `false`
- `resolve_catchall` (boolean): On a catch-all domain, confirm the address. A confirmed find is 25 vendor credits. Off, the most likely address is returned unverified at 20. Default true. Omitting it sends true. Example: `true`

Response schema example:
```json
{
  "found_email": "<found_email>",
  "status": "<status>",
  "confidence": 0,
  "pattern_used": "<pattern_used>",
  "domain": "<domain>",
  "domain_intelligence": {},
  "diagnosis": "<diagnosis>",
  "credits_used": 0,
  "credits_list": 0,
  "credits_remaining": 0,
  "catchall_unverified": false
}
```

### Email finder from LinkedIn

- Capability: `people/email-find-linkedin`
- Description: One search. status is found or not_found. found_email is null when nothing was found, and that call costs nothing when credits_used is 0. credits_remaining is the deployment account's balance after the call, not the caller's Firecrawl balance.
- Instructions: Find a work email from a LinkedIn profile URL. Filtrat reads the name and current company, then searches. 10 Firecrawl credits when only the profile is billed, 15 when an email is found, and 18 when catch-all resolution confirms it. A miss Filtrat does not bill costs nothing. Use people/email-find when you already have the name and domain.
- Cost: 18 credits per profile read or email found
- Capability file: [Email finder from LinkedIn](https://alexandria.firecrawl.dev/agents/providers/filtrat/people/email-find-linkedin)

Accepted options:
- `linkedin_url` (string, required): LinkedIn profile URL. Example: `<linkedin_url>`
- `skip_cache` (boolean): When true, skip a cached result and search again. A cached recheck is free. Default false. Example: `false`
- `resolve_catchall` (boolean): On a catch-all domain, confirm the address. A confirmed find is 25 vendor credits. Off, the most likely address is returned unverified at 20. Default true. Omitting it sends true. Example: `true`

Response schema example:
```json
{
  "found_email": "<found_email>",
  "status": "<status>",
  "confidence": 0,
  "pattern_used": "<pattern_used>",
  "domain": "<domain>",
  "domain_intelligence": {},
  "diagnosis": "<diagnosis>",
  "credits_used": 0,
  "credits_list": 0,
  "credits_remaining": 0,
  "catchall_unverified": false
}
```
