Skip to main content
GET
/
api
/
marketplace
/
filters
Get marketplace filters
curl --request GET \
  --url https://api.example.com/api/marketplace/filters
{
  "filters": {
    "metadata": {
      "Type": [{ "value": "Sports" }, { "value": "Pokemon" }],
      "Rarity": [{ "value": "Common" }, { "value": "Rare" }],
      "Set": [{ "value": "2024 Topps Chrome" }],
      "Grader": [{ "value": "PSA" }, { "value": "BGS" }],
      "Grade": [{ "value": "10" }, { "value": "9" }],
      "Set Release Date": [{ "value": "2024" }],
      "Language": [{ "value": "English" }]
    }
  }
}
Returns the allowed metadata facet values for the Phygitals marketplace catalog. Use this to populate filter UI before calling GET /api/marketplace/marketplace-listings.
No authentication required. This is a public read endpoint. Responses are cached server-side for five minutes.

Example request

GET /api/marketplace/filters

Response

{
  "filters": {
    "metadata": {
      "Type": [{ "value": "Sports" }, { "value": "Pokemon" }],
      "Rarity": [{ "value": "Common" }, { "value": "Rare" }],
      "Set": [{ "value": "2024 Topps Chrome" }],
      "Grader": [{ "value": "PSA" }, { "value": "BGS" }],
      "Grade": [{ "value": "10" }, { "value": "9" }],
      "Set Release Date": [{ "value": "2024" }],
      "Language": [{ "value": "English" }]
    }
  }
}

Fields

filters.metadata
object
Map of trait name → array of { value: string } options. Only a fixed whitelist of traits is returned: Type, Rarity, Set, Grader, Grade, Set Release Date, and Language.

Using filters with listings

Pass selected values into the metadataConditions query parameter on GET /api/marketplace/marketplace-listings:
GET /api/marketplace/marketplace-listings?metadataConditions={"Grader":["PSA"],"Grade":["10"]}&listedStatus=listed&page=0&itemsPerPage=24
Trait keys in metadataConditions should match the facet names from this endpoint (for example Grader, not grader).

Error responses

StatusBodyCause
500{ "error": "Internal server error" }Unexpected server failure