Magic Eden Solana API
Endpoints related to Solana blockchain
Endpoints related to Solana blockchain
openapi: 3.0.1
info:
title: NFTTOOLS API DOCS FOR MAGIC EDEN Bitcoin 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