PlutocracyMercury developer docs

A search results page. term is the URL-encoded search term.

GET /search/query/{term}

Authentication

None.

Parameters

NameInTypeDescription
term requiredpathstring
take requiredquerystring

Page size, 1-50. The bundle never sends page/pageNumber.

skip requiredquerystring

Offset, >= 0.

sortquerystring
queryquerystring

JSON-encoded QueryClause[].

bypassTokenquerystring
currencyquerystring
grid_configquery"1"

"1" to include grid_config in the response. Never "false".

Responses

200 OK application/json

Type: PageResponse

Response of the collection and search routes.

FieldTypeDescription
id optionalstring | number
title optionalstring
handle optionalstring
body_html optionalstring
image optionalany
metafields optional{ [key]: any }
Fields
FieldTypeDescription
[key: string]any

Any further keys.

sort_order optionalstring
config optional{ [key]: any }
Fields
FieldTypeDescription
[key: string]any

Any further keys.

campaign optionalnull | Campaign
facetsFacets
products(Product | MissingProduct)[]
query optionalQueryClause[]

Echo of the parsed query clauses.

search optionalstring

The search term executed (search route).

suggested optionalstring[]
redirect optionalstring | null
grid_config optionalnull | GridConfig
Example response (illustrative)
{
  "id": 7712345678901,
  "title": "Linen shirt",
  "handle": "linen-shirt",
  "body_html": "<p>Breathable linen.</p>",
  "image": null,
  "metafields": {
    "custom": null
  },
  "sort_order": "newest",
  "config": {
    "key": null
  },
  "campaign": {
    "id": 7712345678901,
    "title": "Linen shirt",
    "blocks": [
      {}
    ]
  },
  "facets": {
    "count": 12,
    "vendors": [
      {
        "vendor": "Mercury Apparel"
      }
    ],
    "types": [
      {
        "type": "Shirts"
      }
    ],
    "tags": [
      {
        "value": "string"
      }
    ]
  },
  "products": [
    {
      "handle": "linen-shirt",
      "id": 7712345678901,
      "title": "Linen shirt",
      "vendor": "Mercury Apparel",
      "type": "Shirts",
      "on_sale": false,
      "total_stock": 12,
      "created_date": "2026-11-01T00:00:00.000Z",
      "tags": [
        "summer"
      ],
      "image": "https://cdn.shopify.com/s/files/1/0000/0001/files/linen-shirt.jpg",
      "images": [
        "https://cdn.shopify.com/s/files/1/0000/0001/files/linen-shirt.jpg"
      ],
      "variants": [
        {
          "id": 7712345678901,
          "title": "Linen shirt",
          "price": 89
        }
      ],
      "prices": {
        "AUD": {
          "price": 89
        }
      }
    }
  ],
  "query": [
    {
      "type": "Shirts",
      "operator": "string",
      "condition": "string",
      "value": [
        "string"
      ],
      "disjunctive": false
    }
  ],
  "search": "linen",
  "suggested": [
    "linen"
  ],
  "redirect": "string",
  "grid_config": {
    "grid": {
      "key": null
    },
    "currency": "AUD",
    "locale": "string",
    "delimiter": "string",
    "sizeMapping": null,
    "colourMapping": {
      "key": "#1f6feb"
    },
    "imageMapping": {
      "key": "string"
    },
    "facetMapping": null
  }
}

Errors use the standard envelope; see errors and status codes.

Example request

curl "https://mercury.plutocracy.io/search/query/linen?take=string&skip=string"