In this article, we will explore how to fetch parsed pump fun’s newly introduced pump AMM data

Pump.fun is a Solana-based platform which allows the creation and trading of tokens (such as meme coins) through a bonding curve model. Previously, when a token completed the bonding curve, they migrated to Raydium for further trading. However, Pump.fun has transitioned token migration to its newly launched Pump AMM.
In this blog, we will explore how to fetch parsed pool information from Raydium Amm using Shyft APIs.
Before getting started
To get started, we will need a few things.
Register your Shyft account and get your Shyft API key
x-api-key is an authentication parameter, which gives you access to SHYFT APIs. You can get your own API Key & Shyft RPC URL from the Shyft website.
Get your Shyft GraphQL URL
You can also get your Shyft GraphQL URL from the Shyft website, in the same place where you got your API key. Just click the Graph Ql option on your dashboard.
A Development Environment (like NodeJS) to get RPC and API data
For this example, we have used NodeJS, but any other development languages that supports API calls such as C#, Go, Java, Kotlin, Python or PHP can also be used.
Introduction — Steps Involved
In this article, we will explore two methods of getting parsed pool data from Pump.fun AMM
- Using Shyft Super Indexers — a set of GraphQl APIs
- Using Shyft Defi APIs
Getting parsed pool info using Super Indexers
Shyft’s Super Indexers offer parsed pool data for Pump swap AMM on Solana through GraphQL APIs. Once you have your GraphQL endpoint, you can explore the data in Hasura GraphQl explorer here or make direct GraphQL requests as shown in the following example. Here we pass the pool address as the input to get the parsed pool data
async function getPoolDetailsByPoolAddress(address) {
const SHYFT_API_KEY = "YOUR_SHYFT_API_KEY";
//query to get pool details on PumpSwap by pool address
const operationsDoc = `
query MyQuery {
pump_fun_amm_Pool(
where: {pubkey: {_eq: ${JSON.stringify(address)}}}
) {
base_mint
creator
index
lp_mint
lp_supply
pool_base_token_account
pool_bump
pool_quote_token_account
quote_mint
pubkey
}
}
`; //you can cherrypick the fields as per your requirement
const result = await fetch(`https://programs.shyft.to/v0/graphql/accounts?api_key=${SHYFT_API_KEY}&network=mainnet-beta`, //SHYFT's GQL endpoint
{
method: "POST",
body: JSON.stringify({
query: operationsDoc,
variables: {},
operationName: "MyQuery",
}),
}
);
const { errors, data } = await result.json();
console.dir(data, { depth: null });
}
getPoolDetailsByPoolAddress("DCQWy2Jx8vodKaznKdYWv5BXnXDgFgjHqFgKHypzr3x");
//pool address for which we are fetching data
You can simply copy and paste this into Replit and execute it to view the results. The response received contains the complete parsed pool data, including base_mint (one of the tokens involved in the pool), quote_mint (the other token involved in the pool), lp_mint (the liquidity pool token), and many others like pool_base_token_account and pool_quote_token_account.
{
"pump_fun_amm_Pool": [
{
"base_mint": "3LPPX5giSRgVBkf9DXbdRi9GxZPCuY9yqxzMDFMcXGhi",
"creator": "83Cas69WaTJ15k2NtSRodLJh7p6cqt3WC2XEMJJMiECa",
"index": 0,
"lp_mint": "EjwSxbdpCmm1ofzEkbhj9SnNTR9xd7MNFyak2qAiU9t7",
"lp_supply": 100,
"pool_base_token_account": "AtSusre5nBcwbXP4epKAvULMAVTzzBFiabMkMvmNLAEY",
"pool_bump": 253,
"pool_quote_token_account": "9Pnb3uEWtssrec9hLZ1Ftb7YYWk3GDDQNHtY6Yhux3DH",
"quote_mint": "So11111111111111111111111111111111111111112",
"pubkey": "DCQWy2Jx8vodKaznKdYWv5BXnXDgFgjHqFgKHypzr3x"
}
]
}
Getting parsed pool info using Shyft DeFi APIs
Shyft’s newly launched DeFi APIs streamline access to on-chain DeFi data. Instead of handling each DEX individually, these APIs offer a unified way to fetch information. The following example illustrates how we can fetch parsed pools involving a liquidity pair using Shyft DeFi APIs.
Get Team Shyft’s stories in your inbox
Join Medium for free to get updates from this writer.
The API endpoint
GET https://defi.shyft.to/v0/pools/get_by_pair
Parameters used in this API call
tokenA: One of the tokens in the the liquidity pair, in this case this is the baseMint address.tokenB: The other token in the liquidity pair, for Pumpfun Amm which is quoteMint. The order of baseMint and quoteMint does not matter in the parameters.dex: The DEX name for which we are fetching the pools. This is an optional parameters for fetching pools for one particular DEX. For our case, we will set this to ‘pumpFunAmm’ (string).limit&offset: These are parameters used for pagination. Please find out more about them here.
The entire code illustrating this getting pool data using DeFi API is available here. Feel free to Remix it, add your API Key, and try it out.
The response received will contain the parsed pool data, the fields of which are very similar to the GraphQL response returned. Please note that we can also fetch parsed pool data related to a single pool address using DeFi APIs as well, please check out the following document for more details.
{
"success": true,
"message": "Pools fetched successfully",
"result": {
"page": 1,
"limit": 1,
"dexes": {
"pumpFunAmm": {
"pools": [
{
"pool_bump": 254,
"index": 0,
"creator": "erAbhGh5x8ZhSQGpsMcvajKJzHPvoeFxodiVdzWKtzq",
"base_mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"quote_mint": "So11111111111111111111111111111111111111112",
"lp_mint": "9uXagk63fc4nWwY6NuokPnHeXZgzs3HJQ2ymKHpTTkai",
"pool_base_token_account": "6d1YzpXmCWGmGCwfB5UVfh7SbSMf1Sohjt3NpdCXPLFq",
"pool_quote_token_account": "AtoKZgnH6AhdUPbjJ4wx3y4toYYhASXTuLSxF2uQT1Ya",
"lp_supply": 100,
"pubkey": "5nmZbfXMdbye1vdpF1BaE1FkqZEnJ8JBFsmS15kENjpb",
"lamports": 2359440,
"_updatedAt": "2025-03-25T23:44:37.108Z",
"slot": null
}
],
"programId": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"
}
}
}
}
Conclusion
To summarize, PumpSwap is the new trading spot for Pump.fun tokens. Using tools like Shyft’s Super Indexers and DeFi APIs makes it easy for developers to quickly get clear pool data directly from Pump AMM. This helps in building and understanding what’s happening on this new Solana trading platform.
You can explore our other related articles: Streaming Real-Time Data on Solana, Real-Time Data Streaming with gRPC: Accounts, Transactions, Blocks, How to Stream Real-Time Pump.fun Updates on Solana, and Tracking New Pools on Raydium.


