Integration APIs
GETGet Launches by Token
Last updated February 26, 2026
Retrieve all launches associated with a token mint address. A token can have multiple launch campaigns, so the response returns an array of launches.
Summary
Fetch all launches linked to a token mint address. Returns an array of launches because a single token can have multiple launch campaigns using different genesisIndex values.
- Requires the token mint public key as a path parameter
- Returns a
TokenDataobject containing alaunchesarray - Includes base token metadata and social links alongside the launches
- Supports mainnet (default) and devnet via
networkquery parameter
Quick Reference
| Item | Value |
|---|---|
| Method | GET |
| Path | /tokens/{token_address} |
| Auth | None |
| Response | TokenData (contains launches array) |
| Pagination | None |
Endpoint
GET /tokens/{token_address}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
token_address | string | Yes | The token mint public key |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | No | Network to query. Default: solana-mainnet. Use solana-devnet for devnet. |
Example Request
curl https://api.metaplex.com/v1/tokens/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Response
{
"data": {
"launches": [
{
"launchPage": "https://example.com/launch/mytoken",
"mechanic": "launchpoolV2",
"genesisAddress": "7nE9GvcwsqzYcPUYfm5gxzCKfmPqi68FM7gPaSfG6EQN",
"spotlight": false,
"startTime": "2026-01-15T14:00:00.000Z",
"endTime": "2026-01-15T18:00:00.000Z",
"status": "graduated",
"heroUrl": "launches/abc123/hero.webp",
"graduatedAt": "2026-01-15T18:05:00.000Z",
"lastActivityAt": "2026-01-15T17:45:00.000Z",
"type": "project"
}
],
"baseToken": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"name": "My Token",
"symbol": "MTK",
"image": "https://example.com/token-image.png",
"description": "A community-driven token for the example ecosystem."
},
"website": "https://example.com",
"socials": {
"x": "https://x.com/mytoken",
"telegram": "https://t.me/mytoken",
"discord": "https://discord.gg/mytoken"
}
}
}
Response Type
See Shared Types for Launch, BaseToken, and Socials definitions.
TypeScript
interface TokenResponse {
data: {
launches: Launch[];
baseToken: BaseToken;
website: string;
socials: Socials;
};
}
Rust
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TokenData {
pub launches: Vec<Launch>,
pub base_token: BaseToken,
pub website: String,
pub socials: Socials,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct TokenResponse {
pub data: TokenData,
}
Usage Examples
TypeScript
const response = await fetch(
"https://api.metaplex.com/v1/tokens/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
);
const { data }: TokenResponse = await response.json();
console.log(data.launches.length); // Number of launch campaigns
console.log(data.baseToken.symbol); // "MTK"
Rust
let response: TokenResponse = reqwest::get(
"https://api.metaplex.com/v1/tokens/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
)
.await?
.json()
.await?;
println!("{} launches found", response.data.launches.len());
Notes
- A token can have multiple launches using different
genesisIndexvalues. The response returns all associated launch campaigns. - Returns
404if the token mint address is not found. - The
mechanicfield indicates the allocation mechanism (e.g.,launchpoolV2,presaleV2). Thetypefield indicates the launch category (project,memecoin, orcustom).
