use resend_rs::{Resend, Result};#[tokio::main]async fn main() -> Result<()> { let resend = Resend::new("re_xxxxxxxxx"); let _usage = resend.usage.get().await?; Ok(())}
import com.resend.Resend;import com.resend.core.exception.ResendException;import com.resend.services.usage.model.UsageResponse;public class Main { public static void main(String[] args) throws ResendException { Resend resend = new Resend("re_xxxxxxxxx"); UsageResponse usage = resend.usage().get(); }}
using Resend;IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DIvar resp = await resend.UsageAsync();Console.WriteLine( "Contacts used={0}", resp.Content.Contacts.Used );
curl -X GET 'https://api.resend.com/usage' \ -H 'Authorization: Bearer re_xxxxxxxxx'
Email sending and receiving quota, broken down by day and month.
Show properties
object
Rolling 24-hour quota. Shaped as { used, limit, sent, received, resets_at }. limit is null once the team has an active sending
subscription — daily caps only apply to the free tier.
object
Calendar-month quota, shaped the same as daily. limit is always a
number that scales with the plan.
object
Shaped as { used, limit }.
object
Shaped as { used, limit }. limit is null once the team has an active
contacts subscription — segment caps only apply to the free tier.
object
Shaped as { used, limit }. limit is always null — broadcasts have no
cap.
object
Shaped as { used, limit, next_increase_at }. next_increase_at is null
until the team’s first AI credit use in the current rolling window; once
credits are used, it’s when the oldest usage ages out and frees up quota.
object
Shaped as { used, limit, resets_at }.
object
Shaped as { used, limit }. limit is null when the plan has no domain
cap.
object
The team’s API rate limit, shaped as { limit, duration }. duration is a
string like "1000ms".
import { Resend } from 'resend';const resend = new Resend('re_xxxxxxxxx');const { data, error } = await resend.usage.get();
use resend_rs::{Resend, Result};#[tokio::main]async fn main() -> Result<()> { let resend = Resend::new("re_xxxxxxxxx"); let _usage = resend.usage.get().await?; Ok(())}
import com.resend.Resend;import com.resend.core.exception.ResendException;import com.resend.services.usage.model.UsageResponse;public class Main { public static void main(String[] args) throws ResendException { Resend resend = new Resend("re_xxxxxxxxx"); UsageResponse usage = resend.usage().get(); }}
using Resend;IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DIvar resp = await resend.UsageAsync();Console.WriteLine( "Contacts used={0}", resp.Content.Contacts.Used );
curl -X GET 'https://api.resend.com/usage' \ -H 'Authorization: Bearer re_xxxxxxxxx'
use resend_rs::{Resend, Result};#[tokio::main]async fn main() -> Result<()> { let resend = Resend::new("re_xxxxxxxxx"); let _usage = resend.usage.get().await?; Ok(())}
import com.resend.Resend;import com.resend.core.exception.ResendException;import com.resend.services.usage.model.UsageResponse;public class Main { public static void main(String[] args) throws ResendException { Resend resend = new Resend("re_xxxxxxxxx"); UsageResponse usage = resend.usage().get(); }}
using Resend;IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DIvar resp = await resend.UsageAsync();Console.WriteLine( "Contacts used={0}", resp.Content.Contacts.Used );
curl -X GET 'https://api.resend.com/usage' \ -H 'Authorization: Bearer re_xxxxxxxxx'