import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.usage.get();
$resend = Resend::client('re_xxxxxxxxx');
$resend->usage->get();
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Usage.get()
require "resend"
Resend.api_key = "re_xxxxxxxxx"
usage = Resend::Usage.get
puts usage
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.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 DI
var 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'
resend usage
{
"object": "usage",
"emails": {
"daily": {
"used": 10,
"limit": 100,
"sent": 8,
"received": 2,
"resets_at": "2026-07-29T00:00:00.000Z"
},
"monthly": {
"used": 100,
"limit": 3000,
"sent": 80,
"received": 20,
"resets_at": "2026-08-01T00:00:00.000Z"
}
},
"contacts": {
"used": 10,
"limit": 3000
},
"segments": {
"used": 1,
"limit": 3
},
"broadcasts": {
"used": 2,
"limit": null
},
"ai_credits": {
"used": 5,
"limit": 100,
"next_increase_at": null
},
"automation_runs": {
"used": 3,
"limit": 10000,
"resets_at": "2026-08-01T00:00:00.000Z"
},
"domains": {
"used": 1,
"limit": 1
},
"rate_limit": {
"limit": 1000,
"duration": "1000ms"
}
}
Retrieve Usage
Retrieve your account usage and plan limits.
GET
/
usage
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.usage.get();
$resend = Resend::client('re_xxxxxxxxx');
$resend->usage->get();
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Usage.get()
require "resend"
Resend.api_key = "re_xxxxxxxxx"
usage = Resend::Usage.get
puts usage
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.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 DI
var 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'
resend usage
{
"object": "usage",
"emails": {
"daily": {
"used": 10,
"limit": 100,
"sent": 8,
"received": 2,
"resets_at": "2026-07-29T00:00:00.000Z"
},
"monthly": {
"used": 100,
"limit": 3000,
"sent": 80,
"received": 20,
"resets_at": "2026-08-01T00:00:00.000Z"
}
},
"contacts": {
"used": 10,
"limit": 3000
},
"segments": {
"used": 1,
"limit": 3
},
"broadcasts": {
"used": 2,
"limit": null
},
"ai_credits": {
"used": 5,
"limit": 100,
"next_increase_at": null
},
"automation_runs": {
"used": 3,
"limit": 10000,
"resets_at": "2026-08-01T00:00:00.000Z"
},
"domains": {
"used": 1,
"limit": 1
},
"rate_limit": {
"limit": 1000,
"duration": "1000ms"
}
}
Response Fields
string
Always
usage.object
Email sending and receiving quota, broken down by day and month.
Show properties
Show properties
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();
$resend = Resend::client('re_xxxxxxxxx');
$resend->usage->get();
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Usage.get()
require "resend"
Resend.api_key = "re_xxxxxxxxx"
usage = Resend::Usage.get
puts usage
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.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 DI
var 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'
resend usage
{
"object": "usage",
"emails": {
"daily": {
"used": 10,
"limit": 100,
"sent": 8,
"received": 2,
"resets_at": "2026-07-29T00:00:00.000Z"
},
"monthly": {
"used": 100,
"limit": 3000,
"sent": 80,
"received": 20,
"resets_at": "2026-08-01T00:00:00.000Z"
}
},
"contacts": {
"used": 10,
"limit": 3000
},
"segments": {
"used": 1,
"limit": 3
},
"broadcasts": {
"used": 2,
"limit": null
},
"ai_credits": {
"used": 5,
"limit": 100,
"next_increase_at": null
},
"automation_runs": {
"used": 3,
"limit": 10000,
"resets_at": "2026-08-01T00:00:00.000Z"
},
"domains": {
"used": 1,
"limit": 1
},
"rate_limit": {
"limit": 1000,
"duration": "1000ms"
}
}
Was this page helpful?
⌘I