Magic Eden Solana API
Endpoints related to Solana blockchain
Endpoints related to Solana blockchain
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/magic-eden-solana-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: NFTTOOLS API DOCS FOR MAGIC EDEN Solana API
version: 1.0.0
description: A comprehensive API for interacting with Magic Eden, providing tools to handle collections, tokens, activity, bid, list, and buy on Solana, Bitcoin, Ethereum, Base, and Polygon chains.
servers:
- url: https://nfttools.pro/magiceden
description: Production server
security:
- ApiKeyAuth: []
tags:
- name: Solana
description: Endpoints related to Solana blockchain
paths:
/collection_stats/search/solana:
servers:
- url: https://nfttools.pro/magiceden_stats
get:
summary: Search Solana Collection Stats
description: Retrieve collection statistics for Solana NFTs on Magic Eden, with options for sorting, filtering, and pagination.
tags:
- Solana
parameters:
- name: direction
in: query
required: true
schema:
type: string
enum:
- asc
- desc
description: The direction to sort the results
example: desc
- name: sort
in: query
required: true
schema:
type: string
enum:
- volume
- floorPrice
- listedCount
description: The field to sort the results by
example: volume
- name: window
in: query
required: true
schema:
type: string
enum:
- 1d
- 7d
- 30d
description: The time window for the stats
example: 1d
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
description: The maximum number of results to return
example: 100
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
description: The number of results to skip (for pagination)
example: 0
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
collections:
type: array
items:
type: object
properties:
symbol:
type: string
name:
type: string
volume:
type: number
floorPrice:
type: number
listedCount:
type: integer
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'500':
description: Internal server error
/rpc/getCollectionHolderStats/{collectionSymbol}:
get:
summary: Get Collection Holder Statistics
description: Retrieve holder statistics for a specific NFT collection on Magic Eden.
tags:
- Solana
parameters:
- name: collectionSymbol
in: path
required: true
schema:
type: string
description: The symbol or identifier of the collection
example: rugens_drip
- name: edge_cache
in: query
required: false
schema:
type: boolean
description: Whether to use edge caching for the request
example: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
totalHolders:
type: integer
description: Total number of unique holders in the collection
uniqueHolders:
type: number
description: Percentage of unique holders (possibly out of total supply)
averageHoldingPerWallet:
type: number
description: Average number of NFTs held per wallet
holdersDistribution:
type: object
description: Distribution of holders by number of NFTs held
properties:
'1':
type: integer
description: Number of wallets holding 1 NFT
2-5:
type: integer
description: Number of wallets holding 2 to 5 NFTs
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Collection not found
'500':
description: Internal server error
/idxv2/getAllNftsByCollectionSymbol:
get:
summary: Retrieve all NFTs by collection symbol
tags:
- Solana
parameters:
- name: collectionSymbol
in: query
required: true
schema:
type: string
example: rugens_drip
- name: direction
in: query
required: true
schema:
type: integer
enum:
- 1
- -1
default: 1
example: 1
- name: field
in: query
required: true
schema:
type: integer
default: 1
example: 1
- name: limit
in: query
required: false
schema:
type: integer
default: 1
example: 1
- name: token22StandardFilter
in: query
required: true
schema:
type: integer
default: 1
example: 1
- name: mplCoreStandardFilter
in: query
required: true
schema:
type: integer
default: 1
example: 1
- name: agg
in: query
required: true
schema:
type: integer
default: 3
example: 3
- name: compressionMode
in: query
required: true
schema:
type: string
enum:
- both
- compressed
- uncompressed
default: both
example: both
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: NFTs not found
'500':
description: Internal server error
/rpc/getNFTsByOwner/{ownerAddress}:
get:
summary: Retrieve NFTs by owner
tags:
- Solana
parameters:
- name: ownerAddress
in: path
required: true
schema:
type: string
example: EfdC1uyq5gWqHQYxSENscwNZKY8k2z8CXkpmPRB7mn2N
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: NFTs not found
'500':
description: Internal server error
/rpc/getCollectionAttributesStats/{collectionSymbol}:
get:
summary: Retrieve collection attributes stats
tags:
- Solana
parameters:
- name: collectionSymbol
in: path
required: true
schema:
type: string
example: drip_tarimosi
- name: status
in: query
required: false
schema:
type: string
enum:
- all
- active
- inactive
default: all
example: all
- name: edge_cache
in: query
required: true
schema:
type: boolean
default: true
example: true
- name: agg
in: query
required: true
schema:
type: integer
default: 3
example: 3
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Collection not found
'500':
description: Internal server error
/collections/{collectionSymbol}/organization:
get:
summary: Retrieve collection organization details
tags:
- Solana
parameters:
- name: collectionSymbol
in: path
required: true
schema:
type: string
example: drip_tarimosi
- name: edge_cache
in: query
required: true
schema:
type: boolean
default: true
example: true
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Collection not found
'500':
description: Internal server error
/sft/collection/{collectionSymbol}:
get:
summary: Retrieve collection details with pagination
tags:
- Solana
parameters:
- name: collectionSymbol
in: path
required: true
schema:
type: string
example: drip_tarimosi
- name: offset
in: query
required: false
schema:
type: integer
default: 0
example: 0
- name: limit
in: query
required: false
schema:
type: integer
default: 20
example: 20
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Collection not found
'500':
description: Internal server error
/rpc/getCollectionEscrowStats/{collectionSymbol}:
get:
summary: Retrieve collection escrow stats
tags:
- Solana
parameters:
- name: collectionSymbol
in: path
required: true
schema:
type: string
example: drip_tarimosi
- name: status
in: query
required: false
schema:
type: string
enum:
- all
- active
- inactive
default: all
example: all
- name: edge_cache
in: query
required: true
schema:
type: boolean
default: true
example: true
- name: agg
in: query
required: true
schema:
type: integer
default: 3
example: 3
- name: enableFloorWithFee
in: query
required: true
schema:
type: boolean
default: true
example: true
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Collection not found
'500':
description: Internal server error
/v2/activities:
get:
summary: Get Collection Activities
description: Retrieve activities for a specific NFT collection on Magic Eden, with options for filtering by activity type and pagination.
tags:
- Solana
parameters:
- name: activityTypes
in: query
required: true
schema:
type: string
description: JSON array of activity types to filter by, URL encoded
example: '%5B%22sale%22%2C%22item_offer%22%2C%22pool_offer%22%2C%22attributes_offer%22%2C%22list%22%2C%22edit_list%22%2C%22delist%22%5D'
- name: collectionSymbol
in: query
required: true
schema:
type: string
description: The symbol or identifier of the collection
example: drip_tarimosi
- name: onChainCollectionAddress
in: query
required: true
schema:
type: string
description: The on-chain address of the collection
example: TAuAUS8neSS3KPSqLXQ7u1aWkKgnVPzqNizihDYuXvN
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 50
description: The maximum number of results to return
example: 50
- name: enableSNS
in: query
required: true
schema:
type: boolean
description: Whether to enable SNS (possibly Solana Name Service) resolution
example: true
responses:
'200':
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Collection not found
'500':
description: Internal server error
/idxv2/getListedNftsByCollectionSymbol:
get:
summary: Retrieve listed NFTs by collection symbol
tags:
- Solana
parameters:
- name: collectionSymbol
in: query
required: true
schema:
type: string
example: drip_tarimosi
- name: direction
in: query
required: false
schema:
type: integer
enum:
- 1
- 2
default: 2
example: 2
- name: field
in: query
required: false
schema:
type: integer
default: 1
example: 1
- name: limit
in: query
required: false
schema:
type: integer
default: 100
example: 100
- name: token22StandardFilter
in: query
required: false
schema:
type: integer
default: 1
example: 1
- name: mplCoreStandardFilter
in: query
required: false
schema:
type: integer
default: 1
example: 1
- name: mode
in: query
required: false
schema:
type: string
enum:
- all
- listed
default: all
example: all
- name: agg
in: query
required: false
schema:
type: integer
default: 3
example: 3
- name: compressionMode
in: query
required: false
schema:
type: string
enum:
- none
- both
- compressed
- uncompressed
default: both
example: both
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: NFTs not found
'500':
description: Internal server error
/collection_watchlists/action/checkUserWatchCollection/{collectionSymbol}:
get:
summary: Check if user is watching a collection
tags:
- Solana
parameters:
- name: collectionSymbol
in: path
required: true
schema:
type: string
example: drip_tarimosi
- name: walletAddress
in: query
required: true
schema:
type: string
example: EfdC1uyq5gWqHQYxSENscwNZKY8k2z8CXkpmPRB7mn2N
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Collection or user not found
'500':
description: Internal server error
/collections/{collectionSymbol}:
get:
summary: Retrieve collection details
tags:
- Solana
parameters:
- name: collectionSymbol
in: path
required: true
schema:
type: string
example: drip_tarimosi
- name: edge_cache
in: query
required: false
schema:
type: boolean
default: true
example: true
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Collection not found
'500':
description: Internal server error
/idxv2/getBidsByMintAddresses:
get:
summary: Retrieve bids by mint addresses
tags:
- Solana
parameters:
- name: hideExpired
in: query
required: false
schema:
type: boolean
default: true
example: true
- name: mintAddresses
in: query
required: true
schema:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
- name: direction
in: query
required: false
schema:
type: integer
enum:
- 1
- 2
default: 1
example: 1
- name: field
in: query
required: false
schema:
type: integer
default: 2
example: 2
- name: limit
in: query
required: false
schema:
type: integer
default: 500
example: 500
- name: offset
in: query
required: false
schema:
type: integer
default: 0
example: 0
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Bids not found
'500':
description: Internal server error
/rpc/getNFTByMintAddress/{mintAddress}:
get:
summary: Retrieve NFT by mint address
tags:
- Solana
parameters:
- name: mintAddress
in: path
required: true
schema:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
- name: agg
in: query
required: false
schema:
type: integer
default: 3
example: 3
- name: useRarity
in: query
required: false
schema:
type: boolean
default: true
example: true
- name: includeBurntMint
in: query
required: false
schema:
type: boolean
default: true
example: true
- name: compressionMode
in: query
required: false
schema:
type: string
enum:
- none
- both
- compressed
- uncompressed
default: both
example: both
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: NFT not found
'500':
description: Internal server error
/rpc/getNFTStatsByMintAddress/{mintAddress}:
get:
summary: Retrieve NFT stats by mint address
tags:
- Solana
parameters:
- name: mintAddress
in: path
required: true
schema:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: NFT stats not found
'500':
description: Internal server error
/v2/collections/{symbol}/activities:
get:
summary: Retrieve activities for a collection
tags:
- Solana
parameters:
- name: symbol
in: path
required: true
schema:
type: string
example: drip_tarimosi
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Activities not found
'500':
description: Internal server error
/v2/tokens/{token_mint}/listings:
get:
summary: Retrieve listings for a token
tags:
- Solana
parameters:
- name: token_mint
in: path
required: true
schema:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Listings not found
'500':
description: Internal server error
/v2/tokens/{token_mint}/offers_received:
get:
summary: Retrieve offers received for a token
tags:
- Solana
parameters:
- name: token_mint
in: path
required: true
schema:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
- name: min_price
in: query
required: false
schema:
type: integer
example: 1000000
- name: max_price
in: query
required: false
schema:
type: integer
example: 100000000
- name: offset
in: query
required: false
schema:
type: integer
default: 0
example: 0
- name: limit
in: query
required: false
schema:
type: integer
default: 50
example: 50
- name: sort
in: query
required: false
schema:
type: string
enum:
- updatedAt
- bidAmount
example: updatedAt
- name: sort_direction
in: query
required: false
schema:
type: string
enum:
- asc
- desc
example: desc
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
offers:
type: array
items:
type: object
properties:
price:
type: string
example: '1000000000'
buyer:
type: string
example: EfdC1uyq5gWqHQYxSENscwNZKY8k2z8CXkpmPRB7mn2N
mintAddress:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
timestamp:
type: string
example: 2023-07-04 12:34:56+00:00
'400':
description: Invalid request
'404':
description: Offers not found
'500':
description: Internal server error
/v2/tokens/{token_mint}/activities:
get:
summary: Retrieve activities for a token
tags:
- Solana
parameters:
- name: token_mint
in: path
required: true
schema:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
- name: offset
in: query
required: false
schema:
type: integer
default: 0
example: 0
- name: limit
in: query
required: false
schema:
type: integer
default: 50
example: 50
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Activities not found
'500':
description: Internal server error
/v2/tokens/{token_mint}:
get:
summary: Retrieve token details by mint address
tags:
- Solana
parameters:
- name: token_mint
in: path
required: true
schema:
type: string
example: DmdF3ACqvjmRh4mayaw3SAKuttVQ3tZkmut1N4RxSLCG
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Token not found
'500':
description: Internal server error
/v2/collections/batch/listings:
post:
summary: Batch retrieve listings for collections
tags:
- Solana
parameters:
- name: attributes
in: query
schema:
type: string
description: 'Array of arrays of objects representing a filtering mechanism.
Elements within each inner array are logically ORed, and resulting arrays are ANDed together.
Each inner array consists of objects with properties traitType (string) and value (string).
Example: [[{"traitType":"trait1", "value":"value1"},{"traitType":"trait1", "value":"value2"}]]
'
- name: offset
required: false
in: query
schema:
type: integer
example: 0
description: Offset for pagination
- name: limit
required: false
in: query
schema:
type: integer
example: 50
description: Number of results per page
- name: min_price
in: query
schema:
type: integer
example: 1000000
description: Minimum price filter
- name: max_price
in: query
schema:
type: integer
example: 100000000
description: Maximum price filter
- name: sort
in: query
schema:
type: string
enum:
- listPrice
- updatedAt
example: listPrice
description: Field to sort the listings
- name: sort_direction
in: query
schema:
type: string
enum:
- asc
- desc
example: asc
description: Sort direction for the returned elements
- name: listingAggMode
in: query
schema:
type: boolean
example: true
description: True to return aggregated marketplace listings, false for Magic Eden listings only
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
collections:
type: array
items:
type: object
properties:
symbol:
type: string
example: drip_tarimosi
mcc:
type: string
responses:
'200':
description: Successful response
'400':
description: Invalid request
'404':
description: Listings not found
'500':
description: Internal server error
/v2/instructions/sell:
get:
tags:
- Solana
summary: Get sell instructions
description: Retrieve instructions for selling an NFT on Magic Eden.
parameters:
- name: seller
in: query
required: true
schema:
type: string
example: EfdC1uyq5gWqHQYxSENscwNZKY8k2z8CXkpmPRB7mn2N
description: The seller's wallet address.
- name: auctionHouseAddress
in: query
required: true
schema:
type: string
example: E8cU1WiRWjanGxmn96ewBgk9vPTcL6AEZ1t6F6fkgUWe
description: The address of the auction house.
- name: tokenMint
in: query
required: true
schema:
type: string
example: 7kpQSvaSW5r4usqUHeqXCHK79zj4amadLdv1mpFpDiWR
description: The mint address of the token.
- name: tokenAccount
in: query
required: true
schema:
type: string
example: HLfiWCHHma8BJDHPLt1q65v2cA4UXQKEswPCT1rEbQi4
description: The token account address.
- name: price
in: query
required: true
schema:
type: number
example: 1
description: The price of the token.
responses:
'200':
description: Successful response
'400':
description: Invalid parameters
'500':
description: Internal server error
/v2/tx/{txId}:
post:
tags:
- Solana
summary: Submit signed listing
parameters:
- in: path
name: txId
required: true
schema:
type: string
description: The transaction ID to retrieve details for.
requestBody:
required: false
content:
application/json: {}
responses:
'200':
description: Successful response
'400':
description: Bad request
'404':
description: Not found
'500':
description: Internal server error
/v2/instructions/buy:
get:
tags:
- Solana
summary: Get buy instructions
parameters:
- name: buyer
in: query
required: true
schema:
type: string
example: EfdC1uyq5gWqHQYxSENscwNZKY8k2z8CXkpmPRB7mn2N
- name: auctionHouseAddress
in: query
required: true
schema:
type: string
example: E8cU1WiRWjanGxmn96ewBgk9vPTcL6AEZ1t6F6fkgUWe
- name: tokenMint
in: query
required: true
schema:
type: string
example: 7kpQSvaSW5r4usqUHeqXCHK79zj4amadLdv1mpFpDiWR
- name: price
in: query
required: true
schema:
type: number
example: 1
responses:
'200':
description: Successful response
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-NFT-API-Key
cookieAuth:
type: apiKey
in: header
name: Cookie
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT