List marketplace listings
Marketplace
List marketplace listings
Search, filter, sort, and paginate cards listed for sale on the Phygitals marketplace.
GET
List marketplace listings
Returns a paginated page of marketplace listings with metadata, open offers, and listing activity. Use this to build a buy-now catalog or price-comparison tooling.
Stop when
No authentication required. This is a public read endpoint.
Query parameters
Free-text search matched against card name and metadata (for example title and cert number).
Sort order. One of:
price-low-high, price-high-low, newest, recently-listed, name-asc, name-desc, fmv-low-high, fmv-high-lowZero-based page index. Page
0 is the first page.Page size. Maximum 200 items per request.
JSON object mapping metadata trait names to allowed values. Values are OR’d within a trait; traits are AND’d together.Example:
{"Category":["Pokemon"],"Grader":["PSA"]}Trait names are matched case-insensitively and normalized to title case server-side (Category, Grader, etc.).JSON
[min, max] listing price bounds in USD. Use null for an open bound.Example: [10, 500]JSON
[min, max] fair-market-value bounds in USD. Use null for an open bound.Listing filter:
any, listed, or unlisted. Ignored when hasBorrowOffer=true.JSON array of collection mint addresses to scope results. When omitted, defaults to the primary Phygitals marketplace collections.
When
true, return only listings with an active Jupiter borrow offer attached. Each listing includes a _borrowOffer object. Forces listedStatus to any.Example request
Response
Page of listing objects. Each row is a
UniversalNFTData record with related metadata, offers, and listing timestamps included.Total number of listings matching the current filters (across all pages, not just this page).
Key listing fields
| Field | Type | Description |
|---|---|---|
address | string | On-chain mint / item id. Use as the card identifier in downstream marketplace calls. |
slug | string | URL slug when present. Resolves on phygitals.com/card/:slug. |
name | string | Display name. |
image | string | Primary image URL. |
price | string | null | List price in USDC base units (6 decimals). Divide by 1_000_000 for USD. null when not listed. |
listed | boolean | Whether the item currently has an active list price. |
altFmv | number | null | Fair-market value in USD from Alt (when available). |
metadata | Array<{ key, value }> | Card traits (Title, Category, Grader, Grade, etc.). |
offers | array | Open bids/offers on the item. |
marketplace | "TENSOR" | "MAGICEDEN" | Aggregator the listing is sourced from, when applicable. |
_borrowOffer | object | null | Present only when hasBorrowOffer=true. Jupiter borrow-offer terms (pubkey, principal_amount, apy_bps, expires_at, …). |
Pagination
Request the next page by incrementingpage while keeping other query parameters identical:
page * itemsPerPage >= amount.
Filter facets
UseGET /api/marketplace/filters to populate trait pickers (Set, Grader, Grade, etc.) before building metadataConditions.
Error responses
| Status | Body | Cause |
|---|---|---|
500 | { "error": "Internal server error" } | Unexpected server failure |