import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.broadcasts.recipients(
'559ac32e-9ef5-46fb-82a1-b76b840c0f7b',
{ type: 'clicked', limit: 20 },
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Broadcasts.recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b", {"type": "clicked", "limit": 20}
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Broadcasts.recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
{ type: "clicked", limit: 20 },
)
package main
import "github.com/resend/resend-go/v3"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
limit := 20
client.Broadcasts.Recipients("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", &resend.ListBroadcastRecipientsOptions{
Type: resend.BroadcastRecipientEventTypeClicked,
Limit: &limit,
})
}
use resend_rs::{types::{BroadcastRecipientEventType, ListRecipientsOptions}, Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let list_opts = ListRecipientsOptions::new(BroadcastRecipientEventType::Clicked).with_limit(20);
let _recipients = resend
.broadcasts
.recipients("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", list_opts)
.await?;
Ok(())
}
Resend resend = new Resend("re_xxxxxxxxx");
ListBroadcastRecipientsResponseSuccess data = resend.broadcasts().recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
ListBroadcastRecipientsParams.builder()
.type(BroadcastRecipientEventType.CLICKED)
.limit(20)
.build());
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.BroadcastListRecipientsAsync(
new Guid( "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" ),
BroadcastRecipientEventType.Clicked,
new BroadcastListRecipientsQuery() { Limit = 20 } );
Console.WriteLine( "Recipients={0}", resp.Content.Data.Count );
curl -X GET 'https://api.resend.com/broadcasts/559ac32e-9ef5-46fb-82a1-b76b840c0f7b/recipients?type=clicked&limit=20' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend broadcasts recipients 559ac32e-9ef5-46fb-82a1-b76b840c0f7b --type clicked --limit 20
{
"object": "list",
"has_more": true,
"data": [
{
"id": "b2Zmc2V0OjA",
"contact_id": "e169aa45-1ecf-4183-9955-b1499d5701d3",
"email": "carter@example.com",
"count": 3,
"clicked_links": [
{ "url": "https://resend.com/pricing", "clicks": 2 },
{ "url": "https://resend.com/docs", "clicks": 1 }
]
},
{
"id": "b2Zmc2V0OjE",
"contact_id": null,
"email": "dana@example.com",
"count": 1,
"clicked_links": [{ "url": "https://resend.com/pricing", "clicks": 1 }]
}
]
}
List Recipients
Retrieve the recipients of a broadcast for a given event type.
GET
/
broadcasts
/
:broadcast_id
/
recipients
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.broadcasts.recipients(
'559ac32e-9ef5-46fb-82a1-b76b840c0f7b',
{ type: 'clicked', limit: 20 },
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Broadcasts.recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b", {"type": "clicked", "limit": 20}
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Broadcasts.recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
{ type: "clicked", limit: 20 },
)
package main
import "github.com/resend/resend-go/v3"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
limit := 20
client.Broadcasts.Recipients("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", &resend.ListBroadcastRecipientsOptions{
Type: resend.BroadcastRecipientEventTypeClicked,
Limit: &limit,
})
}
use resend_rs::{types::{BroadcastRecipientEventType, ListRecipientsOptions}, Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let list_opts = ListRecipientsOptions::new(BroadcastRecipientEventType::Clicked).with_limit(20);
let _recipients = resend
.broadcasts
.recipients("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", list_opts)
.await?;
Ok(())
}
Resend resend = new Resend("re_xxxxxxxxx");
ListBroadcastRecipientsResponseSuccess data = resend.broadcasts().recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
ListBroadcastRecipientsParams.builder()
.type(BroadcastRecipientEventType.CLICKED)
.limit(20)
.build());
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.BroadcastListRecipientsAsync(
new Guid( "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" ),
BroadcastRecipientEventType.Clicked,
new BroadcastListRecipientsQuery() { Limit = 20 } );
Console.WriteLine( "Recipients={0}", resp.Content.Data.Count );
curl -X GET 'https://api.resend.com/broadcasts/559ac32e-9ef5-46fb-82a1-b76b840c0f7b/recipients?type=clicked&limit=20' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend broadcasts recipients 559ac32e-9ef5-46fb-82a1-b76b840c0f7b --type clicked --limit 20
{
"object": "list",
"has_more": true,
"data": [
{
"id": "b2Zmc2V0OjA",
"contact_id": "e169aa45-1ecf-4183-9955-b1499d5701d3",
"email": "carter@example.com",
"count": 3,
"clicked_links": [
{ "url": "https://resend.com/pricing", "clicks": 2 },
{ "url": "https://resend.com/docs", "clicks": 1 }
]
},
{
"id": "b2Zmc2V0OjE",
"contact_id": null,
"email": "dana@example.com",
"count": 1,
"clicked_links": [{ "url": "https://resend.com/pricing", "clicks": 1 }]
}
]
}
Retrieve the recipients of a broadcast, filtered by a single event
type (for
example everyone who opened, clicked, or bounced). Results are paginated
with cursors. See Pagination for how after and
before work.
Responses are cached for up to 15 minutes, so requesting the same page again
may return slightly stale data within that window.
Path Parameters
Query Parameters
Response Fields
string
Always
list.boolean
Whether more recipients exist beyond this page.
array
The recipients matching the requested
type.Hide properties
Hide properties
string
An opaque cursor for this row, used only for pagination. It does not
identify any entity in Resend. Use
contact_id to reference the contact.string | null
The matching contact’s ID.
null when the recipient’s email no longer
maps to a contact.string
The recipient’s email address.
number
How many times the recipient triggered the event. Only returned for
type=opened and type=clicked.string | null
The bounce classification:
permanent, transient, or undetermined.
Only returned for type=bounced.import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.broadcasts.recipients(
'559ac32e-9ef5-46fb-82a1-b76b840c0f7b',
{ type: 'clicked', limit: 20 },
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Broadcasts.recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b", {"type": "clicked", "limit": 20}
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Broadcasts.recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
{ type: "clicked", limit: 20 },
)
package main
import "github.com/resend/resend-go/v3"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
limit := 20
client.Broadcasts.Recipients("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", &resend.ListBroadcastRecipientsOptions{
Type: resend.BroadcastRecipientEventTypeClicked,
Limit: &limit,
})
}
use resend_rs::{types::{BroadcastRecipientEventType, ListRecipientsOptions}, Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let list_opts = ListRecipientsOptions::new(BroadcastRecipientEventType::Clicked).with_limit(20);
let _recipients = resend
.broadcasts
.recipients("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", list_opts)
.await?;
Ok(())
}
Resend resend = new Resend("re_xxxxxxxxx");
ListBroadcastRecipientsResponseSuccess data = resend.broadcasts().recipients(
"559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
ListBroadcastRecipientsParams.builder()
.type(BroadcastRecipientEventType.CLICKED)
.limit(20)
.build());
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.BroadcastListRecipientsAsync(
new Guid( "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" ),
BroadcastRecipientEventType.Clicked,
new BroadcastListRecipientsQuery() { Limit = 20 } );
Console.WriteLine( "Recipients={0}", resp.Content.Data.Count );
curl -X GET 'https://api.resend.com/broadcasts/559ac32e-9ef5-46fb-82a1-b76b840c0f7b/recipients?type=clicked&limit=20' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend broadcasts recipients 559ac32e-9ef5-46fb-82a1-b76b840c0f7b --type clicked --limit 20
{
"object": "list",
"has_more": true,
"data": [
{
"id": "b2Zmc2V0OjA",
"contact_id": "e169aa45-1ecf-4183-9955-b1499d5701d3",
"email": "carter@example.com",
"count": 3,
"clicked_links": [
{ "url": "https://resend.com/pricing", "clicks": 2 },
{ "url": "https://resend.com/docs", "clicks": 1 }
]
},
{
"id": "b2Zmc2V0OjE",
"contact_id": null,
"email": "dana@example.com",
"count": 1,
"clicked_links": [{ "url": "https://resend.com/pricing", "clicks": 1 }]
}
]
}
Was this page helpful?
⌘I