Skip to main content

API Rate Limiting

In this section, you can find the rate limiting details for the Jupiter API.

Overview

Fixed Rate Limit

  • All Jupiter APIs that are public and documented are free to use via the Lite tier.
  • By purchasing a Pro plan, you are only accessing higher rate limits with no differences in usage nor freshness of data.

Dynamic Rate Limit

API Key rules

  • API Keys are universal
    • Use the same API Key for Ultra API (Dynamic Rate Limit) and all Pro APIs api.jup.ag (Fixed Rate Limit).
    • You do not need an API Key for Lite APIs lite-api.jup.ag.
  • Rate limits apply on a per account basis, not to individual API keys.
API TierRate Limit ModelAPI Key RequiredBase URL
LiteFixed (Free Tier)Nohttps://lite-api.jup.ag/**
ProFixed (Tiered)Yeshttps://api.jup.ag/**
UltraDynamicYeshttps://api.jup.ag/ultra/**

Fixed Rate Limit

The Fixed Rate Limit system applies to the Lite and Pro plans (does not include Ultra API), using the sliding window method to enforce request quotas.

PropertyLitePro
Base URLhttps://lite-api.jup.ag/https://api.jup.ag/
CostFreePaid per month, based on tier
API KeyNot requiredRequired
Requests Per Minute60Based on tier
Window60 seconds10 seconds

Rate Limit

Rate limits are defined over 10-second windows (except Lite at 60-second window). For example, if your tier allows 100 requests per 10 seconds, any more within that window will receive a 429 response, regardless of how few you used in the previous window.

TierEst. Requests per MinuteRequests Per PeriodSliding Window Period
Lite606060 seconds
Pro I~60010010 seconds
Pro II~3,00050010 seconds
Pro III~6,0001,00010 seconds
Pro IV~30,0005,00010 seconds

Requests are distributed to each bucket:

  1. Price API Bucket – dedicated for /price/v3/ only - separate from Default Bucket.
  2. Default Bucket – used for all APIs except the Price API.
note
  • Each bucket enforces its own sliding window independently.
  • For example, Pro II = 500 per 10 seconds to the Default Bucket and 500 per 10 seconds to the Price API Bucket.
  • Lite users do not have a separate Price API Bucket — all requests are counted against the Default Bucket.

Dynamic Rate Limit (BETA)

The Ultra API uses a unique rate limiting mechanism that scales with your executed swap volume over time.

PropertyDynamic
Base URLhttps://api.jup.ag/ultra/
CostFree to use, but Ultra incurs swap fees
API KeyRequired
Requests Per MinuteBase Quota + Added Quota

How Dynamic Rate Limit Works

Every 10 minutes

  • The system aggregates your swap volume from /execute on Ultra for the current rolling day (volume of (current timestamp - 1 day) up to present).
  • After which, the Added Quota will update, which will be added on top of the Base Quota.
Swap VolumeRequests Per PeriodSliding Window Period
$050 Base + 0 Added = 5010 seconds
$10,00050 Base + 1 Added = 5110 seconds
$100,00050 Base + 11 Added = 6110 seconds
$1,000,00050 Base + 115 Added = 16510 seconds
note

The formula is subject to changes as we experiment with the Dynamic Rate Limit system.

If you find that the rate limit is too restrictive, please reach out to us in Discord.

Managing Rate Limits

If you receive a 429 response, you should:

  1. Implement exponential backoff in your retry logic
  2. Wait for sliding window to allow for more requests
  3. Upgrade your tier (Pro) or scale your Ultra usage to unlock higher limits.
caution

Bursting beyond your allocation may result in temporary 429s/rate limits, even after the refill period. Avoid aggressive retry patterns.