Integration APIs
GETList Launches
Last updated February 26, 2026
Retrieve active and upcoming Genesis launch listings. Returns a list of launches with their metadata, token info, and social links.
Summary
List all Genesis launches with optional filters for status and spotlight. Returns an array of LaunchData objects sorted by most recent activity.
- Filter by
status(upcoming,live,graduated) and/orspotlight(true,false) - Results are sorted by
lastActivityAtin descending order - Each entry includes launch details, base token metadata, and social links
- Supports mainnet (default) and devnet via
networkquery parameter
Quick Reference
| Item | Value |
|---|---|
| Method | GET |
| Path | /launches |
| Auth | None |
| Response | LaunchData[] |
| Pagination | None |
Endpoint
GET /launches
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | No | Network to query. Default: solana-mainnet. Use solana-devnet for devnet. |
status | string | No | Filter by status: upcoming, live, graduated. Default: returns all. |
spotlight | string | No | Filter by spotlight: true or false. Default: returns all. |
Example Request
curl "https://api.metaplex.com/v1/launches?status=live"
Response
Results are sorted by lastActivityAt in descending order.
{
"data": [
{
"launch": {
"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 LaunchData {
launch: Launch;
baseToken: BaseToken;
website: string;
socials: Socials;
}
interface LaunchesResponse {
data: LaunchData[];
}
Rust
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LaunchData {
pub launch: Launch,
pub base_token: BaseToken,
pub website: String,
pub socials: Socials,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct LaunchesResponse {
pub data: Vec<LaunchData>,
}
Usage Examples
TypeScript
const response = await fetch(
"https://api.metaplex.com/v1/launches?status=live"
);
const { data }: LaunchesResponse = await response.json();
console.log(`${data.length} launches`);
data.forEach((entry) => {
console.log(entry.baseToken.name, entry.launch.status);
});
Rust
let response: LaunchesResponse = reqwest::get(
"https://api.metaplex.com/v1/launches?status=live"
)
.await?
.json()
.await?;
println!("{} launches", response.data.len());
Notes
- Results are not paginated. The endpoint returns all matching launches in a single response.
- The
statusfilter acceptsupcoming,live, orgraduated. Omit to return all statuses. - The
mechanicfield indicates the allocation mechanism (e.g.,launchpoolV2,presaleV2). Thetypefield indicates the launch category (project,memecoin, orcustom).
