List Sent Emails
Retrieve a list of emails sent by your team.
You can list all emails sent by your team. The list returns references to individual emails. If needed, you can use the id of an email to retrieve the email HTML to plain text using the Retrieve Email endpoint or the Retrieve Attachments endpoint to get an email's attachments.
<>
Query Parameters
Section titled “Query Parameters” {isRequired ? -
limit(number) — Number of emails to retrieve.-
Default value:
20 -
Maximum value:
100 -
Minimum value:
1
-
: <>
Note that the limit parameter is optional. If
you do not provide a limit, all emails will be returned
in a single response.
-
limit(number) — Number of emails to retrieve.-
Maximum value:
100 -
Minimum value:
1</>}-
after(string) — The ID after which we'll retrieve more emails (for pagination). This ID will not be included in the returned list. Cannot be used with thebeforeparameter. -
before(string) — The ID before which we'll retrieve more emails (for pagination). This ID will not be included in the returned list. Cannot be used with theafterparameter.
</>
-
-
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.emails.list();$resend = Resend::client('re_xxxxxxxxx');
$resend->emails->list();import resend
resend.api_key = "re_xxxxxxxxx"
resend.Emails.list()require "resend"
Resend.api_key = "re_xxxxxxxxx"
emails = Resend::Emails.list
puts emailspackage main
import (
"context"
"github.com/resend/resend-go/v4"
)
func main() {
ctx := context.TODO()
client := resend.NewClient("re_xxxxxxxxx")
paginatedResp, err := client.Emails.ListWithOptions(ctx, nil)
if err != nil {
panic(err)
}
if paginatedResp.HasMore {
opts := &resend.ListOptions{
After: &paginatedResp.Data[len(paginatedResp.Data)-1].Id,
}
client.Emails.ListWithOptions(ctx, opts)
}
}use resend_rs::{list_opts::ListOptions, Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _emails = resend.emails.list(ListOptions::default()).await?;
Ok(())
}import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.emails.model.ListEmailsResponseSuccess;
public class Main {
public static void main(String[] args) throws ResendException {
Resend resend = new Resend("re_xxxxxxxxx");
ListEmailsResponseSuccess emails = resend.emails().list();
}
}using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.EmailListAsync();
Console.WriteLine( "Count={0}", resp.Content.Data.Count );curl -X GET 'https://api.resend.com/emails' \
-H 'Authorization: Bearer re_xxxxxxxxx'resend emails list{
"object": "list",
"has_more": false,
"data": [
{
"id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c",
"message_id": "<111-222-333@email.example.com>",
"to": ["delivered@resend.dev"],
"from": "Acme <onboarding@resend.dev>",
"created_at": "2026-04-03 22:13:42.674981+00",
"subject": "Hello World",
"bcc": null,
"cc": null,
"reply_to": null,
"last_event": "delivered",
"scheduled_at": null
},
{
"id": "3a9f8c2b-1e5d-4f8a-9c7b-2d6e5f8a9c7b",
"message_id": "<444-555-666@email.example.com>",
"to": ["user@example.com"],
"from": "Acme <onboarding@resend.dev>",
"created_at": "2026-04-03 21:45:12.345678+00",
"subject": "Welcome to Acme",
"bcc": null,
"cc": null,
"reply_to": null,
"last_event": "opened",
"scheduled_at": null
}
]
}