specification: API Commons Plans specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/Plans provider: API League providerId: api-league created: '2026-05-04' modified: '2026-09-02' generated: '2026-09-02' method: searched source: https://apileague.com/pricing/ # 2026-09-02: REPLACED the 2026-05-04 bulk-sweep scaffold. That version invented three tiers # (Free / Professional / Enterprise) with invented quotas (1,000 and 100,000 requests/month) # and "TBD" prices. API League publishes FOUR named tiers, prices them in dollars, meters in # TOKENS PER DAY rather than requests per month, and has no enterprise tier at all. Every # number below is read off the provider's own pricing page. plan_count: 4 description: >- API League's published pricing. The unit is a TOKEN, not a request: each endpoint has a token cost that also varies with how the parameters are set, and the per-endpoint cost is stated on each endpoint's documentation page. Allowances are DAILY and reset at midnight UTC. The free tier hard-stops with HTTP 402 when the daily allowance is gone; every paid tier instead bills per-token overage. Each tier also carries its own request-rate and concurrency ceiling, which is why the same numbers appear in rate-limits/api-league-rate-limits.yml. currency: USD billing_period: month metering_unit: token quota_period: day quota_reset: midnight UTC uptime_target_all_plans: 99.9% plans: - id: api-league-free name: Free type: freemium price: '0.00' currency: USD billing_period: month description: >- Non-commercial evaluation tier. Hard-stops at the daily allowance — there is no overage, the API returns HTTP 402 and no further calls succeed until the midnight-UTC reset. Requires a backlink to apileague.com on the consuming site or app. entries: - {label: Daily Token Allowance, name: tokens, type: quota, metric: tokens, limit: 50, timeFrame: day, unit: 1, price: '0.00'} - {label: Overage, name: overage, type: metered, metric: tokens, limit: 0, timeFrame: day, unit: 1, price: 'none — requests are refused (HTTP 402)'} - {label: Request Rate, name: rate_limit, type: rate, metric: requests_per_minute, limit: 60, timeFrame: minute, unit: 1} - {label: Concurrent Requests, name: concurrency, type: rate, metric: concurrent_requests, limit: 1, unit: 1} elements: - {name: Uptime Guarantee, value: 99.9%} - {name: Support, value: Discord} - {name: Backlink Required, value: 'yes — API League'} - {name: Commercial Use, value: 'no'} - id: api-league-rookie name: Rookie type: paid price: '7.00' currency: USD billing_period: month description: The entry paid tier — commercial use permitted, no backlink obligation, per-token overage. entries: - {label: Daily Token Allowance, name: tokens, type: quota, metric: tokens, limit: 500, timeFrame: day, unit: 1} - {label: Overage, name: overage, type: metered, metric: tokens, unit: 1, price: '0.006'} - {label: Request Rate, name: rate_limit, type: rate, metric: requests_per_second, limit: 2, timeFrame: second, unit: 1} - {label: Concurrent Requests, name: concurrency, type: rate, metric: concurrent_requests, limit: 5, unit: 1} elements: - {name: Uptime Guarantee, value: 99.9%} - {name: Support, value: Discord} - {name: Backlink Required, value: 'no'} - {name: Commercial Use, value: 'yes'} - id: api-league-pro name: Pro type: paid price: '39.00' currency: USD billing_period: month description: Production tier with email support and a 10x allowance over Rookie at a lower per-token overage. entries: - {label: Daily Token Allowance, name: tokens, type: quota, metric: tokens, limit: 5000, timeFrame: day, unit: 1} - {label: Overage, name: overage, type: metered, metric: tokens, unit: 1, price: '0.004'} - {label: Request Rate, name: rate_limit, type: rate, metric: requests_per_second, limit: 10, timeFrame: second, unit: 1} - {label: Concurrent Requests, name: concurrency, type: rate, metric: concurrent_requests, limit: 10, unit: 1} elements: - {name: Uptime Guarantee, value: 99.9%} - {name: Support, value: Email} - {name: Backlink Required, value: 'no'} - {name: Commercial Use, value: 'yes'} - id: api-league-champion name: Champion type: paid price: '199.00' currency: USD billing_period: month description: >- The top published tier. Note this is a self-serve price, not a "contact sales" tier — API League publishes no enterprise or custom plan. entries: - {label: Daily Token Allowance, name: tokens, type: quota, metric: tokens, limit: 50000, timeFrame: day, unit: 1} - {label: Overage, name: overage, type: metered, metric: tokens, unit: 1, price: '0.002'} - {label: Request Rate, name: rate_limit, type: rate, metric: requests_per_second, limit: 20, timeFrame: second, unit: 1} - {label: Concurrent Requests, name: concurrency, type: rate, metric: concurrent_requests, limit: 20, unit: 1, note: 'The pricing table states 20 concurrent requests; the rate-limiting documentation page states 10 for Champion. The two provider pages disagree — see rate-limits/api-league-rate-limits.yml.'} elements: - {name: Uptime Guarantee, value: 99.9%} - {name: Support, value: 'Scheduled phone'} - {name: Backlink Required, value: 'no'} - {name: Commercial Use, value: 'yes'} enterprise_tier: published: false note: >- There is no enterprise / custom / contact-sales tier. Every published plan is self-serve and priced. The prior scaffold invented one. alternate_channel: name: RapidAPI note: >- The terms of use state a subscription may be taken out "on our website or on rapidapi.com", and billing is managed wherever the subscription was created. RapidAPI plan tiers are not reproduced here — only the provider's own published pricing is. source: https://apileague.com/terms/ tags: - API Marketplace - Pricing - Freemium - Usage-Based - Tokens evidence: - {url: 'https://apileague.com/pricing/', status: 200} - {url: 'https://apileague.com/docs/quotas-and-rate-limiting/', status: 200} - {url: 'https://apileague.com/terms/', status: 200} maintainers: - FN: Kin Lane email: info@apievangelist.com