A collection's NFTs for sale: mint, price (SOL), seller, expiry, HowRare and MoonRank rarity ranks, name, image and traits. Filter by price range and traits, sorted by price or listing time. Pass next_page back as page.
Every response includes credits_used: the credits this call cost.
Parameters
name
type
description
symbolrequired
string
Collection symbol. Example: okay_bears
sort
listPrice | updatedAt
listPrice (default) or updatedAt. Example: listPrice
order
asc | desc
asc (default) or desc. Example: asc
min_price
number
Minimum price in SOL.
max_price
number
Maximum price in SOL.
traits
string
trait:value pairs separated by ; (e.g. Fur:Lofi;Hat:Book); the same trait twice matches either value.
import os, requests
res = requests.get(
"https://api.api.sh/magiceden/v1/listings",
params={"symbol": "okay_bears"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json()
const url = new URL("https://api.api.sh/magiceden/v1/listings");
url.searchParams.set("symbol", "okay_bears");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).
The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.