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.
openapi: 3.2.0
info:
title: Avahit Catalog API
version: 1.0.0
description: 'Read-only and public: no key required. The catalog and the lookup answer about products listed on Avahit. Avahit sells nothing and has no checkout. Amazon products carry no price, rating, stock or check date here: those are on Amazon. Structured queries for AI assistants go through the MCP server at /api/mcp.'
license:
name: Terms of service
url: https://avahit.com/legal
servers:
- url: https://avahit.com
tags:
- name: Catalog
paths:
/api/catalog:
get:
operationId: listCatalog
summary: The whole catalog, 200 products per page
parameters:
- name: page
in: query
description: Page number, from 1. Anything else reads as 1.
schema:
type: integer
minimum: 1
default: 1
responses:
'200':
description: One page of the catalog
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogPage'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Catalog
components:
responses:
RateLimited:
description: Too many requests from this address
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
CatalogPage:
type: object
required:
- about
- page
- pageCount
- total
- next
- products
properties:
about:
type: object
description: What the catalog is, its limits and where the other endpoints live.
page:
type: integer
pageCount:
type: integer
total:
type: integer
next:
type:
- string
- 'null'
format: uri
products:
type: array
items:
$ref: '#/components/schemas/Product'
Product:
type: object
required:
- url
- title
- store
properties:
url:
type: string
format: uri
description: The product page on avahit.com
title:
type: string
description:
type:
- string
- 'null'
price:
type:
- number
- 'null'
description: Null for Amazon products.
previousPrice:
type:
- number
- 'null'
currency:
type:
- string
- 'null'
category:
type: string
store:
type:
- string
- 'null'
description: The store's domain
inStock:
type:
- boolean
- 'null'
priceVerifiedAt:
type:
- string
- 'null'
format: date-time
ourLowest:
type:
- object
- 'null'
storeRating:
type:
- object
- 'null'
editorsPick:
type: boolean
variantOf:
type:
- string
- 'null'
format: uri
description: The main page when this product is a size or color of another.
creatorOwnership:
type: string
enum:
- bought it
- received it free from the brand
- has not used it
addedAt:
type: string
format: date-time
Error:
type: object
required:
- error
properties:
error:
type: string