Liquid Death Catalog API

Product and collection data

Operations 3

GET /products/{handle}.json Get a product by handle #
GET /collections/{handle}/products.json List products in a collection #
GET /search Search the storefront #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/liquid-death-catalog-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

liquid-death-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Liquid Death Storefront Read-Only JSON Catalog API
  version: '2026-08-01'
  summary: The anonymous, read-only product and collection JSON surface Liquid Death publishes for AI agents.
  description: 'Liquid Death runs its direct-to-consumer store at https://liquiddeath.com on Shopify. The store

    publishes an agent-facing instruction document at `/agents.md` (mirrored at `/llms.txt`) that

    explicitly documents a **read-only browsing** surface for "agents that only need to read store data

    without transacting". No authentication is required for any operation in this document.


    This OpenAPI was GENERATED by the API Evangelist enrichment pipeline from the endpoints Liquid Death

    documents in `/agents.md`, and every operation below was probed live on 2026-08-01 and confirmed to

    return the recorded status and content type. Schemas were derived from observed response bodies.

    Nothing here is invented: no operation appears that was not both documented by the provider and

    verified against the live host.


    Transactional operations (cart, checkout, order) are **not** in this document. Liquid Death exposes

    those over the Universal Commerce Protocol (UCP) MCP endpoint — see `mcp/liquid-death-mcp.yml` and

    `mcp/liquid-death-ucp-shopping-mcp.openrpc.json`. The provider''s robots.txt explicitly directs agents

    to UCP/MCP for catalog, cart and checkout, and disallows scripted checkout completion.

    '
  contact:
    name: Liquid Death
    url: https://liquiddeath.com/pages/summon-us
  termsOfService: https://liquiddeath.com/policies/terms-of-service
  x-generated-by: api-evangelist enrichment pipeline
  x-source-documentation: https://liquiddeath.com/agents.md
  x-probed: '2026-08-01'
servers:
- url: https://liquiddeath.com
  description: Production storefront
tags:
- name: Catalog
  description: Product and collection data
paths:
  /products/{handle}.json:
    get:
      operationId: getProduct
      tags:
      - Catalog
      summary: Get a product by handle
      description: 'Returns the full product record for a single product handle, including variants, options and

        images. Documented under "Read-Only Browsing" in https://liquiddeath.com/agents.md as

        `GET /products/{handle}.json`.

        '
      parameters:
      - name: handle
        in: path
        required: true
        description: The product handle (URL slug), e.g. `sparkling-energy-vp2`.
        schema:
          type: string
        example: sparkling-energy-vp2
      responses:
        '200':
          description: The product record.
          content:
            application/json:
              schema:
                type: object
                properties:
                  product:
                    $ref: '#/components/schemas/Product'
        '404':
          description: No product exists with that handle.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /collections/{handle}/products.json:
    get:
      operationId: listCollectionProducts
      tags:
      - Catalog
      summary: List products in a collection
      description: 'Returns the products in a collection. The special handle `all` returns the entire catalog.

        Documented in https://liquiddeath.com/agents.md as `GET /collections/{handle}/products.json`

        and `GET /collections/all`.

        '
      parameters:
      - name: handle
        in: path
        required: true
        description: Collection handle, e.g. `water`, `merch-store`, or `all` for the whole catalog.
        schema:
          type: string
        example: all
      - name: limit
        in: query
        required: false
        description: Maximum number of products to return in one page.
        schema:
          type: integer
          minimum: 1
        example: 50
      - name: page
        in: query
        required: false
        description: 1-indexed page number, used with `limit` for offset pagination.
        schema:
          type: integer
          minimum: 1
        example: 1
      responses:
        '200':
          description: A page of products in the collection.
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/Product'
        '404':
          description: No collection exists with that handle.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /search:
    get:
      operationId: searchStorefront
      tags:
      - Catalog
      summary: Search the storefront
      description: 'Full-text storefront search. Documented in https://liquiddeath.com/agents.md as

        `GET /search?q={query}&type=product`. Returns a rendered HTML results page — the store does not

        publish a JSON projection of search. Agents needing structured search results are directed by

        the provider to the UCP `search_catalog` MCP tool instead.

        '
      parameters:
      - name: q
        in: query
        required: true
        description: The search query.
        schema:
          type: string
        example: water
      - name: type
        in: query
        required: false
        description: Restricts the resource types searched.
        schema:
          type: string
          enum:
          - product
          - article
          - page
        example: product
      responses:
        '200':
          description: An HTML search results page.
          content:
            text/html:
              schema:
                type: string
components:
  schemas:
    Product:
      type: object
      description: A storefront product, as returned by the read-only product JSON endpoints.
      properties:
        id:
          type: integer
          format: int64
        title:
          type: string
        handle:
          type: string
        body_html:
          type: string
          description: Product description as HTML.
        published_at:
          type: string
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        vendor:
          type: string
        product_type:
          type: string
        template_suffix:
          type:
          - string
          - 'null'
        published_scope:
          type: string
        tags:
          type: array
          items:
            type: string
        variants:
          type: array
          items:
            $ref: '#/components/schemas/Variant'
        images:
          type: array
          items:
            $ref: '#/components/schemas/Image'
        image:
          $ref: '#/components/schemas/Image'
        options:
          type: array
          items:
            $ref: '#/components/schemas/Option'
    Image:
      type: object
      properties:
        id:
          type: integer
          format: int64
        product_id:
          type: integer
          format: int64
        src:
          type: string
          format: uri
        alt:
          type:
          - string
          - 'null'
        width:
          type: integer
        height:
          type: integer
        position:
          type: integer
        variant_ids:
          type: array
          items:
            type: integer
            format: int64
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      description: Error body returned by the storefront JSON endpoints.
      properties:
        errors:
          type: string
    Variant:
      type: object
      description: A purchasable variant of a product.
      properties:
        id:
          type: integer
          format: int64
        product_id:
          type: integer
          format: int64
        title:
          type: string
        sku:
          type:
          - string
          - 'null'
        barcode:
          type:
          - string
          - 'null'
        price:
          type: string
        price_currency:
          type: string
        compare_at_price:
          type:
          - string
          - 'null'
        compare_at_price_currency:
          type:
          - string
          - 'null'
        position:
          type: integer
        option1:
          type:
          - string
          - 'null'
        option2:
          type:
          - string
          - 'null'
        option3:
          type:
          - string
          - 'null'
        grams:
          type: integer
        weight:
          type: number
        weight_unit:
          type: string
        taxable:
          type: boolean
        tax_code:
          type:
          - string
          - 'null'
        requires_shipping:
          type: boolean
        fulfillment_service:
          type:
          - string
          - 'null'
        inventory_management:
          type:
          - string
          - 'null'
        image_id:
          type:
          - integer
          - 'null'
          format: int64
        quantity_rule:
          type: object
          description: Minimum/increment purchase constraints for this variant.
        quantity_price_breaks:
          type: array
          description: Volume price breaks for this variant.
          items:
            type: object
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Option:
      type: object
      description: A product option axis, e.g. Flavors or Size.
      properties:
        name:
          type: string
        position:
          type: integer
        values:
          type: array
          items:
            type: string