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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/snipcart-products-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
openapi: 3.2.0
info:
title: Snipcart REST AbandonedCarts Products API
description: 'The Snipcart REST API provides programmatic access to your store''s data including orders, customers, products, discounts, notifications, abandoned carts, domains, refunds, user sessions, and custom shipping methods. Authentication uses HTTP Basic Auth with a secret API key generated from the merchant dashboard. All requests must include an Accept: application/json header.
'
version: '3.0'
contact:
name: Snipcart Support
url: https://snipcart.com
license:
name: Proprietary
url: https://snipcart.com/terms-of-service
servers:
- url: https://app.snipcart.com/api
description: Snipcart API
security:
- basicAuth: []
tags:
- name: Products
description: Manage product catalog and inventory
paths:
/products:
get:
summary: List products
operationId: listProducts
description: Returns a list of products with options to filter by date range and sort by sales metrics.
tags:
- Products
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- name: from
in: query
schema:
type: string
format: date-time
- name: to
in: query
schema:
type: string
format: date-time
responses:
'200':
description: Paginated list of products
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedResponse'
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Product'
post:
summary: Fetch and create product
operationId: fetchProduct
description: Fetches the URL passed in parameter and generates products found on the page (HTML buttons or JSON definitions).
tags:
- Products
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- fetchUrl
properties:
fetchUrl:
type: string
format: uri
description: URL of page containing product definitions
responses:
'200':
description: Created or updated product
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
/products/{id}:
get:
summary: Get product
operationId: getProduct
description: Retrieves a product by its identifier (Snipcart-generated or user-defined ID).
tags:
- Products
parameters:
- $ref: '#/components/parameters/productId'
responses:
'200':
description: Product details
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
'404':
description: Product not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
put:
summary: Update product
operationId: updateProduct
description: Updates specific product attributes, particularly inventory values such as stock levels.
tags:
- Products
parameters:
- $ref: '#/components/parameters/productId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
stock:
type: integer
allowOutOfStockPurchases:
type: boolean
responses:
'200':
description: Updated product
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
delete:
summary: Archive product
operationId: archiveProduct
description: Archives the product, removing it from listings. Automatically restored if added to a cart again.
tags:
- Products
parameters:
- $ref: '#/components/parameters/productId'
responses:
'200':
description: Product archived successfully
'404':
description: Product not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
parameters:
offset:
name: offset
in: query
required: false
description: Zero-based offset for pagination
schema:
type: integer
default: 0
productId:
name: id
in: path
required: true
description: Unique product identifier
schema:
type: string
limit:
name: limit
in: query
required: false
description: Number of results to return per page
schema:
type: integer
default: 25
schemas:
PaginatedResponse:
type: object
properties:
totalItems:
type: integer
offset:
type: integer
limit:
type: integer
items:
type: array
items:
type: object
Product:
type: object
properties:
id:
type: string
userDefinedId:
type: string
name:
type: string
price:
type: number
format: float
url:
type: string
format: uri
description:
type: string
stock:
type: integer
description: Available stock quantity
allowOutOfStockPurchases:
type: boolean
totalSales:
type: integer
Error:
type: object
properties:
message:
type: string
details:
type: array
items:
type: string
securitySchemes:
basicAuth:
type: http
scheme: basic
description: 'Use your secret API key as the username with an empty password. Base64-encode as {API_KEY}: and pass as Authorization: Basic {encoded}.
'