import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.broadcasts.clickedLinks(
'559ac32e-9ef5-46fb-82a1-b76b840c0f7b',
{ limit: 20 },
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Broadcasts.clicked_links(
id="559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
params={"limit": 20},
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Broadcasts.clicked_links("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", { limit: 20 })
package main
import "github.com/resend/resend-go/v3"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Broadcasts.ClickedLinks("559ac32e-9ef5-46fb-82a1-b76b840c0f7b")
}
use resend_rs::{Resend, Result, list_opts::ListOptions};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _links = resend
.broadcasts
.clicked_links("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", ListOptions::default())
.await?;
Ok(())
}
Resend resend = new Resend("re_xxxxxxxxx");
ListBroadcastClickedLinksResponseSuccess data = resend.broadcasts().clickedLinks("559ac32e-9ef5-46fb-82a1-b76b840c0f7b");
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.BroadcastClickedLinksAsync( new Guid( "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" ) );
Console.WriteLine( "Nr Links={0}", resp.Content.Data.Count );
curl -X GET 'https://api.resend.com/broadcasts/559ac32e-9ef5-46fb-82a1-b76b840c0f7b/clicked-links?limit=20' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend broadcasts clicked-links 559ac32e-9ef5-46fb-82a1-b76b840c0f7b --limit 20
{
"object": "list",
"has_more": true,
"data": [
{
"id": "b2Zmc2V0OjA",
"url": "https://resend.com/pricing",
"clicks": 42,
"unique_clicks": 30
},
{
"id": "b2Zmc2V0OjE",
"url": "https://resend.com/docs",
"clicks": 17,
"unique_clicks": 15
}
]
}
List Clicked Links
Retrieve the links clicked in a broadcast.
GET
/
broadcasts
/
:broadcast_id
/
clicked-links
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.broadcasts.clickedLinks(
'559ac32e-9ef5-46fb-82a1-b76b840c0f7b',
{ limit: 20 },
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Broadcasts.clicked_links(
id="559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
params={"limit": 20},
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Broadcasts.clicked_links("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", { limit: 20 })
package main
import "github.com/resend/resend-go/v3"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Broadcasts.ClickedLinks("559ac32e-9ef5-46fb-82a1-b76b840c0f7b")
}
use resend_rs::{Resend, Result, list_opts::ListOptions};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _links = resend
.broadcasts
.clicked_links("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", ListOptions::default())
.await?;
Ok(())
}
Resend resend = new Resend("re_xxxxxxxxx");
ListBroadcastClickedLinksResponseSuccess data = resend.broadcasts().clickedLinks("559ac32e-9ef5-46fb-82a1-b76b840c0f7b");
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.BroadcastClickedLinksAsync( new Guid( "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" ) );
Console.WriteLine( "Nr Links={0}", resp.Content.Data.Count );
curl -X GET 'https://api.resend.com/broadcasts/559ac32e-9ef5-46fb-82a1-b76b840c0f7b/clicked-links?limit=20' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend broadcasts clicked-links 559ac32e-9ef5-46fb-82a1-b76b840c0f7b --limit 20
{
"object": "list",
"has_more": true,
"data": [
{
"id": "b2Zmc2V0OjA",
"url": "https://resend.com/pricing",
"clicks": 42,
"unique_clicks": 30
},
{
"id": "b2Zmc2V0OjE",
"url": "https://resend.com/docs",
"clicks": 17,
"unique_clicks": 15
}
]
}
Retrieve every link clicked in a broadcast, ranked by total clicks. 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 links exist beyond this page.
array
The clicked links, ordered by total clicks, descending.
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.broadcasts.clickedLinks(
'559ac32e-9ef5-46fb-82a1-b76b840c0f7b',
{ limit: 20 },
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Broadcasts.clicked_links(
id="559ac32e-9ef5-46fb-82a1-b76b840c0f7b",
params={"limit": 20},
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Broadcasts.clicked_links("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", { limit: 20 })
package main
import "github.com/resend/resend-go/v3"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Broadcasts.ClickedLinks("559ac32e-9ef5-46fb-82a1-b76b840c0f7b")
}
use resend_rs::{Resend, Result, list_opts::ListOptions};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _links = resend
.broadcasts
.clicked_links("559ac32e-9ef5-46fb-82a1-b76b840c0f7b", ListOptions::default())
.await?;
Ok(())
}
Resend resend = new Resend("re_xxxxxxxxx");
ListBroadcastClickedLinksResponseSuccess data = resend.broadcasts().clickedLinks("559ac32e-9ef5-46fb-82a1-b76b840c0f7b");
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.BroadcastClickedLinksAsync( new Guid( "559ac32e-9ef5-46fb-82a1-b76b840c0f7b" ) );
Console.WriteLine( "Nr Links={0}", resp.Content.Data.Count );
curl -X GET 'https://api.resend.com/broadcasts/559ac32e-9ef5-46fb-82a1-b76b840c0f7b/clicked-links?limit=20' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend broadcasts clicked-links 559ac32e-9ef5-46fb-82a1-b76b840c0f7b --limit 20
{
"object": "list",
"has_more": true,
"data": [
{
"id": "b2Zmc2V0OjA",
"url": "https://resend.com/pricing",
"clicks": 42,
"unique_clicks": 30
},
{
"id": "b2Zmc2V0OjE",
"url": "https://resend.com/docs",
"clicks": 17,
"unique_clicks": 15
}
]
}
Was this page helpful?
⌘I