Every monthly allowance
From the Usage & limits API reference. Requests use the base URL https://app.warmerly.com/api/v1 and an API key, see Authentication.
GET /usage/quotascurl https://app.warmerly.com/api/v1/usage/quotas \
-H "X-Api-Key: wmv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"{
"monthKey": "2026-09",
"plan": "growth-v2",
"planName": "Growth",
"quotas": [
{ "key": "campaignSends", "label": "Campaign sends", "unit": "sends", "tool": "Campaigns", "used": 4120, "limit": null, "remaining": null },
{ "key": "verifications", "label": "Email verifications", "unit": "verifications", "tool": "Verify", "used": 812, "limit": 25000, "remaining": 24188 },
{ "key": "emailLookups", "label": "Email lookups", "unit": "lookups", "tool": "Email finder", "used": 95, "limit": 10000, "remaining": 9905 },
{ "key": "linkedinLookups", "label": "LinkedIn lookups", "unit": "lookups", "tool": "LinkedIn search", "used": 0, "limit": 10000, "remaining": 10000 },
{ "key": "leadExports", "label": "Lead exports", "unit": "leads", "tool": "Leads", "used": 1500, "limit": 5000, "remaining": 3500 },
{ "key": "placementTests", "label": "Placement tests", "unit": "tests", "tool": "Accounts", "used": 3, "limit": 25, "remaining": 22 },
{ "key": "credits", "label": "AI credits", "unit": "credits", "tool": "AI", "used": 40, "limit": 500, "remaining": 460 }
]
}| Field | Description |
|---|---|
monthKey | The month these counts cover, YYYY-MM, in UTC. Counts reset when this changes, on the 1st, not on your renewal date. |
plan | The plan key whose ceilings apply, or null for a workspace with no ceilings (staff / granted unlimited). |
planName | Display name for that plan, or "Unlimited". |
quotas[].key | Stable identifier: campaignSends, verifications, emailLookups, linkedinLookups, leadExports, placementTests, credits. |
quotas[].used | Month-to-date count. |
quotas[].limit | The ceiling, or null for unmetered: never read null as zero or unknown. Campaign sends are null on every paid plan. |
quotas[].remaining | limit - used (never below 0), or null when the limit is null. |
quotas[].overflowRemaining | Units left on a credit-bought block for this quota. It does not reset on the 1st and is not included in remaining. Present on verifications, emailLookups, linkedinLookups, leadExports and placementTests, and 0 when none has been bought. |
quotas[].unitsPerCredit | How many units one credit buys for this quota. Present on the same five quotas as overflowRemaining. |
The plan resolved here matches the one the write gates enforce: a workspace with no live subscription is held to Free's allowances rather than the plan it used to have, so this endpoint and a 402 from POST /verify can never disagree.
The per-tool endpoints: GET /verify/usage, GET /email-finder/quota, GET /leads/quota, are unchanged and still the right call when you only care about one meter.
Was this page helpful?