# Retrieve Received Email

## Path Parameters

- `id` (string, required) — The ID for the received email.

## Query Parameters

- `html_format` ('data\_uri' | 'cid') — Controls how inline images are returned inside `html`. The response echoes the form actually served as `html_format` on the body.

  By default (or when set to `data_uri`), inline images appear in `html` as base64 `data:` URIs. Set `html_format=cid` to keep the original `<img src="cid:..." />` references instead. Each `cid:` matches the `content_id` of an attachment, so you can correlate inline images with entries in the `attachments` array and fetch them via the attachment download endpoint.

  Emails whose inlined HTML would exceed 100 MB, typically long reply chains that quote the same inline image hundreds of times, are always stored and returned with `cid:` references. For those emails the response reports `html_format: "cid"` regardless of the requested format, so check the `html_format` field on the body rather than assuming the format you asked for.

## Response Fields

- `html_format` ('data\_uri' | 'cid') — How inline images are referenced in `html`. Usually matches the requested format, but is `cid` when the email is too large to inline (see the query parameter above).

- `received_for` (array) — The recipient addresses the email was forwarded for, taken from the `for` clause of the message's `Received` headers.

- `authentication` (object | null) — The SPF, DKIM, and DMARC results computed when the email was received. These come from the receiving mail server, not from the message headers, so the sender cannot forge them. `null` for emails received before this field was introduced.

  :::accordion{title="properties"}
  - `spf` ('pass' | 'fail' | 'gray' | 'processing\_failed' | 'unknown') — SPF result. `gray` means the result was `none`, `softfail`, or `neutral`.

  - `dkim` ('pass' | 'fail' | 'gray' | 'processing\_failed' | 'unknown') — DKIM result. `gray` means the message is not signed, or the signing domain does not match the `From` domain.

  - `dmarc` ('pass' | 'fail' | 'gray' | 'processing\_failed' | 'unknown') — DMARC result. `gray` means SPF or DKIM passed but the sending domain has no DMARC policy or uses `p=none`.
  :::

- `raw` (object | null) — Raw email content download information. Contains a signed URL to download the original email file including all attachments.

  :::accordion{title="properties"}
  - `download_url` (string) — Signed CloudFront URL to download the raw email file.

  - `expires_at` (string) — ISO 8601 timestamp indicating when the download URL expires.
  :::

:::code-group
```js Node.js
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.emails.receiving.get(
  '37e4414c-5e25-4dbc-a071-43552a4bd53b',
);
```

```php PHP
$resend = Resend::client('re_xxxxxxxxx');

$resend->emails->receiving->get('37e4414c-5e25-4dbc-a071-43552a4bd53b');
```

```python Python
import resend

resend.api_key = "re_xxxxxxxxx"

resend.Emails.Receiving.get(email_id="37e4414c-5e25-4dbc-a071-43552a4bd53b")
```

```ruby Ruby
require "resend"

Resend.api_key = "re_xxxxxxxxx"

Resend::Emails::Receiving.get("37e4414c-5e25-4dbc-a071-43552a4bd53b")
```

```go Go
package main

import (
	"context"

	"github.com/resend/resend-go/v4"
)

func main() {
	client := resend.NewClient("re_xxxxxxxxx")

	client.Emails.Receiving.GetWithContext(
		context.TODO(),
		"37e4414c-5e25-4dbc-a071-43552a4bd53b",
	)
}
```

```rust Rust
use resend_rs::{types::GetInboundEmailOptions, Resend, Result};

#[tokio::main]
async fn main() -> Result<()> {
  let resend = Resend::new("re_xxxxxxxxx");

  let _email = resend
    .receiving
    .get(
      "37e4414c-5e25-4dbc-a071-43552a4bd53b",
      GetInboundEmailOptions::default(),
    )
    .await?;

  Ok(())
}
```

```java Java
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.receiving.model.ReceivedEmail;

public class Main {
  public static void main(String[] args) throws ResendException {
    Resend resend = new Resend("re_xxxxxxxxx");

    ReceivedEmail email = resend.receiving().get("37e4414c-5e25-4dbc-a071-43552a4bd53b");
  }
}
```

```csharp .NET
using Resend;

IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI

var resp = await resend.ReceivedEmailRetrieveAsync( new Guid( "4ef9a417-02e9-4d39-ad75-9611e0fcc33c" ) );
Console.WriteLine( "Subject={0}", resp.Content.Subject );
```

```bash cURL
curl -X GET 'https://api.resend.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
```

```bash CLI
resend emails receiving get 4ef9a417-02e9-4d39-ad75-9611e0fcc33c
```
:::

:::code-group
```json Response
{
  "object": "email",
  "id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c",
  "to": ["delivered@resend.dev"],
  "from": "onboarding@resend.dev",
  "created_at": "2026-04-03T22:13:42.674Z",
  "subject": "Hello World",
  "html": "Congrats on sending your <strong>first email</strong>!",
  "html_format": "data_uri",
  "text": null,
  "headers": {
    "from": "Acme <onboarding@resend.dev>",
    "return-path": "lucas.costa@resend.com",
    "mime-version": "1.0"
  },
  "bcc": [],
  "cc": [],
  "reply_to": [],
  "received_for": ["forwarded@example.com"],
  "authentication": {
    "spf": "pass",
    "dkim": "pass",
    "dmarc": "pass"
  },
  "message_id": "<111-222-333@email.example.com>",
  "raw": {
    "download_url": "https://example.resend.com/receiving/raw/054da427-439a-4e91-b785-e4fb1966285f?Signature=...",
    "expires_at": "2026-04-03T23:13:42.674Z"
  },
  "attachments": [
    {
      "id": "2a0c9ce0-3112-4728-976e-47ddcd16a318",
      "filename": "avatar.png",
      "content_type": "image/png",
      "content_disposition": "inline",
      "content_id": "img001",
      "size": 4096
    },
    {
      "id": "3b1d0df1-4223-5839-087f-54eedd27b419",
      "filename": "document.pdf",
      "content_type": "application/pdf",
      "content_disposition": null,
      "content_id": null,
      "size": 13264
    }
  ]
}
```
:::

## Related pages

- [Account Management](./account-management-index.md)
- [API Keys](./api-keys-2-index.md)
- [API Keys](./api-keys-index.md)
- [API Reference](./api-reference-index.md)
- [AudiencesDEPRECATED](./audiencesdeprecated-index.md)
- [Authorized Apps](./authorized-apps-index.md)
- [Automations](./automations-index.md)
- [Broadcasts](./broadcasts-index.md)
- [Build with AI](./build-with-ai-index.md)
- [Changelog](../changelog.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
