The Magic Eden Solana API is designed to empower developers in creating innovative experiences using NFTs and our abundant marketplace data. We offer a robust suite of endpoints that allows you to access NFT metadata along with crucial components of our marketplace, including events, collections, listings, bids, and more. With our API, you can not only access the data but also perform various actions that you would on our user interface, such as listing NFTs, buying NFTs, placing bids, and more.
We offer these endpoints in the spirit of fostering composability and openness in the web3 space, extending the reach of this data to anyone desiring to build upon it. In return, if you utilize our data, we ask that you adhere to our Terms of Service.
Moreover, we make this API available free of charge and kindly request that you attribute Magic Eden on your website or within your app. When you leverage our API, please consider linking to the Magic Eden marketplace from the NFTs that you showcase, where it's appropriate.
Please be aware that our API is rate-limited and some endpoints are gated by an API key. For more info check out Solana API Keys.
Clusters
More info about Solana clusters: https://docs.solana.com/clusters
- Devnet: api-devnet.magiceden.dev/v2 - this uses a testing Solana cluster, the tokens are not real
- Mainnet: api-mainnet.magiceden.dev/v2 - this uses the real Solana cluster, the tokens are real and this is consistent with the data seen on https://magiceden.io/
Highlight Projects
You can find a list of projects in analytics, trader tooling, and community management from our NYC Hacker House Hackathon Gallery.
The Winners in each respective category are:
- Best Analytics Project: Seller Classification
- Best Trader Tooling: Solset.io
- Best Social Media Integration: Hawksight Bot Improvements via Magic Eden API
API Metadata
Some endpoints in this API are able to respond with some useful metadata if requested. This is done by including the request header ME-Pub-API-Metadata
and the value of this request header is a JSON object with the following TypeScript interface:
interface RequestMetadata {
paging?: boolean
}
If an endpoint is requested with the header (and supports) ME-Pub-API-Metadata
, the endpoint will respond with a header of the same name (ME-Pub-API-Metadata
). The value of this response header is a JSON object with the following TypeScript interface:
interface ResponseMetadata {
paging?: PagingMetadata
}
interface PagingMetadata {
total: number
start: number
end: number
}
The below is an example
Request headers:
ME-Pub-API-Metadata: {"paging":true}
Response headers:
ME-Pub-API-Metadata: {"paging":{"total":10, "start":0, "end":1}}