Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dev.jup.ag/docs/llms.txt

Use this file to discover all available pages before exploring further.

Overview

All Jupiter APIs use a fixed rate limit based on your plan tier. Rate limits are enforced using a 60-second sliding window.
TierRequests per secondRequests per minuteAPI key required
Keyless0.530No
Free160Yes
Developer10600Yes
Launch503,000Yes
Pro1509,000Yes
Rate limits apply per account, not per API key. Creating multiple API keys does not increase your rate limit.
Rate limits are bucketed. Most API requests share the same rate limit bucket. For example, if you are on the Developer plan (10 RPS), a mix of Swap, Price, and Token requests all count towards the same 10 RPS limit. The exceptions are /swap/v2/execute and /tx/v1/submit, which have their own dedicated buckets (see below).

Dedicated rate limit buckets

/execute and /submit each have their own rate limit bucket, separate from the general API limit and from each other. Calls to these endpoints do not count towards your plan’s general RPS quota.
TierRPS per endpoint
Keyless20
Free50
Paid (Developer, Launch, Pro)100
For example, a Developer plan account (10 RPS general) can simultaneously make 10 general API requests, 100 /execute requests, and 100 /submit requests per second.

Handling rate limits

If you exceed your rate limit, the API returns a 429 Too Many Requests response. To handle this:
  1. Implement backoff: Use exponential backoff in your retry logic
  2. Spread requests: Distribute requests evenly rather than bursting
  3. Upgrade your plan: If you consistently hit limits, consider upgrading to a higher tier
Aggressive retry patterns without backoff may extend your rate limit window. Always wait before retrying after a 429 response.

Need higher limits?