Keyword → Blog API

Reference

Billing & plans

Every plan meters usage in words per month, with a per-request cap and a requests-per-minute throughput limit. These numbers are the single source of truth used everywhere else in these docs.

Starter

$0/mo

  • 1 req/min
  • 3 req/day per key
  • 1,500 words/request cap
  • 20,000 words/mo
  • 90 requests/mo
  • 1 concurrent async job
  • 1 team seat

Growth

$49/mo

  • 15 req/min
  • 500 req/day per key
  • 2,000 words/request cap
  • 200,000 words/mo
  • 5,000 requests/mo
  • 3 concurrent async jobs
  • 3 team seats

Scale

priority

$199/mo

  • 60 req/min
  • 5,000 req/day per key
  • 4,000 words/request cap
  • 1,200,000 words/mo
  • 50,000 requests/mo
  • 10 concurrent async jobs
  • 10 team seats

Rate limits & quotas

PlanRequests/minRequests/dayRequests/moMax words/requestMonthly word capPriority processing
Starter13901,50020,000No
Growth155005,0002,000200,000No
Scale605,00050,0004,0001,200,000Yes

requestsPerDay is the primary Starter-plan control lever — it, not the monthly cap, is usually what a free account hits first. Priority processing on async jobs (POST /v1/jobs) is enforced via a dedicated concurrency allowance per plan (see “concurrent async jobs” above): higher tiers can have more of their jobs in flight at once rather than sharing one undifferentiated queue.

Quota exceeded response

Once consumed.words reaches limits.monthlyWords, further generation requests return:

429
{
  "error": {
    "code": "QUOTA_EXCEEDED",
    "message": "Monthly word quota exceeded for plan 'growth'. Upgrade your plan or wait for the next billing period.",
    "requestId": "req_f6e5d4c3b2",
    "details": {
      "monthlyWords": 200000,
      "consumedWords": 200000,
      "periodEnd": "2026-10-01T00:00:00.000Z"
    }
  }
}