# Extract from EML

Use this extractor for `.eml` files. It can extract attachments, inline images, metadata into a ZIP result.

## Quick reference

| Field | Value |
| --- | --- |
| Source file type | `.eml` |
| Source group | Email |
| Submit endpoint | `POST https://api.tools.fast/extract` |
| Estimate endpoint | `POST https://api.tools.fast/extract/estimate/eml` |
| Result | ZIP download |
| Default capabilities | `email.embeddedFiles`, `email.images`, `email.metadata` |
| Max file size | free: 50 MB; pro: 2048 MB |
| Document limits | Not applicable |
| Duration limits | Not applicable |

## Capabilities

| Capability | Default | Options | Pricing | Description |
| --- | --- | --- | --- | --- |
| `email.embeddedFiles` | Yes | None | Included | Email attachments saved as separate files. |
| `email.images` | Yes | None | Included | Inline email images saved separately. |
| `email.metadata` | Yes | None | Included | Message headers and email metadata. |

## Options payload with all capabilities

Use this shape when you want to explicitly configure every supported output for this source type.

```json
{
  "extraction": {
    "selectedCapabilities": [
      "email.embeddedFiles",
      "email.images",
      "email.metadata"
    ],
    "includeManifest": true
  }
}
```

## Estimate example

```bash
curl -sS -X POST "https://api.tools.fast/extract/estimate/eml" \
  -H "X-Fast-Api-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fileSizeMb": 10,
  "options": {
    "extraction": {
      "selectedCapabilities": [
        "email.embeddedFiles",
        "email.images",
        "email.metadata"
      ],
      "includeManifest": true
    }
  }
}'
```

## Extract example with all options configured

```bash
curl -sS -X POST "https://api.tools.fast/extract" \
  -H "X-Fast-Api-Key: $API_KEY" \
  -F "file=@input.eml" \
  -F 'options={
  "extraction": {
    "selectedCapabilities": [
      "email.embeddedFiles",
      "email.images",
      "email.metadata"
    ],
    "includeManifest": true
  }
}'
```

## Machine-readable discovery

```http
GET /options/eml
GET /extractors/eml
```
