集成API

GETGet Listings

Last updated January 31, 2026

获取活跃和即将到来的 Genesis 发行列表。返回带有元数据、代币信息和社交链接的分页列表。

草稿

这是一个示例页面。参数、请求/响应格式和行为可能会在实际集成确定后发生变化。

端点

GET /listings

参数

参数类型必填描述
networkstring要查询的网络。默认值:solana-mainnet。使用 solana-devnet 查询开发网。
statusstring按状态筛选:activeupcomingcompleted。默认返回全部。
limitnumber每页返回的结果数量。默认值:20。最大值:100
offsetnumber分页跳过的结果数量。默认值:0

请求示例

curl "https://api.metaplex.com/v1/listings?status=active&limit=10"

响应

{
"data": {
"listings": [
{
"launch": {
"launchPage": "https://example.com/launch/mytoken",
"type": "launchpool",
"genesisAddress": "7nE9GvcwsqzYcPUYfm5gxzCKfmPqi68FM7gPaSfG6EQN"
},
"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"
},
"status": "active"
}
],
"total": 42,
"limit": 10,
"offset": 0
}
}

响应类型

TypeScript

interface ListingEntry {
launch: Launch;
baseToken: BaseToken;
website: string;
socials: Socials;
status: "active" | "upcoming" | "completed";
}
interface ListingsResponse {
data: {
listings: ListingEntry[];
total: number;
limit: number;
offset: number;
};
}

Rust

#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ListingEntry {
pub launch: Launch,
pub base_token: BaseToken,
pub website: String,
pub socials: Socials,
pub status: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ListingsData {
pub listings: Vec<ListingEntry>,
pub total: u64,
pub limit: u64,
pub offset: u64,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ListingsResponse {
pub data: ListingsData,
}

使用示例

TypeScript

const response = await fetch(
"https://api.metaplex.com/v1/listings?status=active&limit=10"
);
const { data }: ListingsResponse = await response.json();
console.log(`${data.total} total listings`);
data.listings.forEach((entry) => {
console.log(entry.baseToken.name, entry.status);
});

Rust

let response: ListingsResponse = reqwest::get(
"https://api.metaplex.com/v1/listings?status=active&limit=10"
)
.await?
.json()
.await?;
println!("{} total listings", response.data.total);

分页

使用 limitoffset 对结果进行分页:

# First page
curl "https://api.metaplex.com/v1/listings?limit=20&offset=0"
# Second page
curl "https://api.metaplex.com/v1/listings?limit=20&offset=20"

响应中的 total 字段表示匹配的发行列表总数。