Skip to main content
Resend Docs

Search documentation

Type to search this documentation.

On this pageOverview

Retrieve Received Email

GET

/

emails

/

receiving

/

:email_id

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
$resend = Resend::client('re_xxxxxxxxx');

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

resend.api_key = "re_xxxxxxxxx"

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

Resend.api_key = "re_xxxxxxxxx"

Resend::Emails::Receiving.get("37e4414c-5e25-4dbc-a071-43552a4bd53b")
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
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
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");
  }
}
.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 );
cURL
curl -X GET 'https://api.resend.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
CLI
resend emails receiving get 4ef9a417-02e9-4d39-ad75-9611e0fcc33c
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
    }
  ]
}

string

required

The ID for the received email.

'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.

'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).

array

The recipient addresses the email was forwarded for, taken from the for clause of the message’s Received headers.

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.

Hide properties

'pass' | 'fail' | 'gray' | 'processing_failed' | 'unknown'

SPF result. gray means the result was none, softfail, or neutral.

'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.

'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.

object | null

Raw email content download information. Contains a signed URL to download the original email file including all attachments.

Hide properties

string

Signed CloudFront URL to download the raw email file.

string

ISO 8601 timestamp indicating when the download URL expires.

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
$resend = Resend::client('re_xxxxxxxxx');

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

resend.api_key = "re_xxxxxxxxx"

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

Resend.api_key = "re_xxxxxxxxx"

Resend::Emails::Receiving.get("37e4414c-5e25-4dbc-a071-43552a4bd53b")
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
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
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");
  }
}
.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 );
cURL
curl -X GET 'https://api.resend.com/emails/receiving/4ef9a417-02e9-4d39-ad75-9611e0fcc33c' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
CLI
resend emails receiving get 4ef9a417-02e9-4d39-ad75-9611e0fcc33c
JSON
{
  "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
    }
  ]
}

Was this page helpful?

⌘I

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu