Price V2

Improved on-chain price for any token

Price API V2 is an improved version of the Price API, aims to enhance accuracy by incorporating both buy and sell-side liquidity to derive the average price of the two. This provides more reliable real-time data for SPL tokens.

Jupiter Price API will always return the unit buy price for the token specified with the ids parameter. This price is based on the best pricing data available across all DEXes queried. Please remember the addresses are case-sensitive.

For example, the most basic call will provide the unit price for the token based on the buy amount of USDC.

# Unit price of 1 JUP & 1 SOL based on the Derived Price in USDC
https://api.jup.ag/price/v2?ids=JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,So11111111111111111111111111111111111111112

{
    "data": {
        "So11111111111111111111111111111111111111112": {
            "id": "So11111111111111111111111111111111111111112",
            "type": "derivedPrice",
            "price": "133.890945000"
        },
        "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN": {
            "id": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
            "type": "derivedPrice",
            "price": "0.751467"
        }
    },
    "timeTaken": 0.00395219
}

Including showExtraInfo provides more detailed information, helping you determine the most suitable price for your use case.

# Unit price of 1 JUP & 1 SOL based on the Derived Price in USDC
https://api.jup.ag/price/v2?ids=JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,So11111111111111111111111111111111111111112&showExtraInfo=true

{
    "data": {
        "So11111111111111111111111111111111111111112": {
            "id": "So11111111111111111111111111111111111111112",
            "type": "derivedPrice",
            "price": "132.176540000",
            "extraInfo": {
                "lastSwappedPrice": {
                    "lastJupiterSellAt": 1726232167,
                    "lastJupiterSellPrice": "132.1815918927837",
                    "lastJupiterBuyAt": 1726232168,
                    "lastJupiterBuyPrice": "132.3113422757551"
                },
                "quotedPrice": {
                    "buyPrice": "132.183970000",
                    "buyAt": 1726232166,
                    "sellPrice": "132.169110000",
                    "sellAt": 1726232168
                },
                "confidenceLevel": "high",
                "depth": {
                    "buyPriceImpactRatio": {
                        "depth": {
                            "10": 0.011976036126034885,
                            "100": 0.05308426581530216,
                            "1000": 0.1168049189323158
                        },
                        "timestamp": 1726232167
                    },
                    "sellPriceImpactRatio": {
                        "depth": {
                            "10": 0.01582101846363979,
                            "100": 0.03166775883921609,
                            "1000": 0.06880960201997424
                        },
                        "timestamp": 1726232167
                    }
                }
            }
        },
        "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN": {
            "id": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
            "type": "derivedPrice",
            "price": "0.742851",
            "extraInfo": {
                "lastSwappedPrice": {
                    "lastJupiterSellAt": 1726232039,
                    "lastJupiterSellPrice": "0.7442999683998961",
                    "lastJupiterBuyAt": 1726232097,
                    "lastJupiterBuyPrice": "0.7431593824200015"
                },
                "quotedPrice": {
                    "buyPrice": "0.742917",
                    "buyAt": 1726232165,
                    "sellPrice": "0.742784",
                    "sellAt": 1726232168
                },
                "confidenceLevel": "high",
                "depth": {
                    "buyPriceImpactRatio": {
                        "depth": {
                            "10": 0.009393981894911491,
                            "100": 0.08127843280940066,
                            "1000": 0.3417234655853332
                        },
                        "timestamp": 1726232167
                    },
                    "sellPriceImpactRatio": {
                        "depth": {
                            "10": 0.05174412761856207,
                            "100": 0.06288330728860267,
                            "1000": 0.281508676845538
                        },
                        "timestamp": 1726232167
                    }
                }
            }
        }
    },
    "timeTaken": 0.00388851
}

📘

Rate Limit

This endpoint is rate limited to 600 requests/min.

Response

FieldExplanation
typederivedPrice is the midpoint between buyPrice and sellPrice.
priceBased on the type above
extraInfoextraInfo Fields (More info below)
buyPriceAn Option<String> representing the quoted buy price.
sellPriceAn Option<String> representing the quoted sell price.
timeTakenA f32 representing the time taken for the request.
lastSwappedPriceA SwapPrice struct that holds the last Jupiter swapped price details.

extraInfo Fields

*Note: This is flattened, please refer to the JSON response.

lastJupiterSellAtEpoch seconds of the lastJupiterSellPrice
lastJupiterSellPricePrice of last Jupiter sell
lastJupiterBuyAtEpoch seconds of the lastJupiterBuyPrice
lastJupiterBuyPricePrice of last Jupiter buy
buyPriceAn Option<String> representing the quoted buy price
buyAtEpoch seconds of when the buy quote was retrieved
sellPriceAn Option<String> representing the quoted sell price
sellAtEpoch seconds of when the sell quote was retrieved
confidenceLevelA String indicating the confidence level (High, Medium, or Low)
buyPriceImpactRatioA Map broken down into 3 key-value pairs: 10, 100 & 1000 (SOL). The value is expressed in percentage
sellPriceImpactRatioA Map broken down into 3 key-value pairs: 10, 100 & 1000 (SOL). The value is expressed in percentage

Limitations

  1. Possible reasons the price for a token cannot be found:
    • The token is not tradable on Jupiter - it does not fit Jupiter’s routing criteria.
    • There is no route for this token to SOL.
  2. sellPrice, sellAt & lastSwappedPrice might be null in the following cases:
    • sellPrice & sellAt are not cached and cannot be retrieved (in these cases, type will be buyPrice).
    • lastSwappedPrice might be null if the token has not been traded recently or cannot be retrieved
      • For example, tokens that have not been traded with USDC on Jupiter in the last 3 days
  3. buyPriceImpactRatio & sellPriceImpactRatio in the depth field might be null in the following cases:
  • We are unable to get the respective price impacts for 10, 100 and 1000 SOL buys or sells
    • This could be due to insufficient liquidity for larger values
  • We cannot find the sell quote for the respective token and the buy/sell values

Read our research article about the Price V2 API to learn how we derive confidenceLevel or depth.