---
title: "The Vessim public read API and MCP server"
canonical: https://www.vessim.com/developers
source: Vessim (www.vessim.com)
as_of: 2026-10-23
indexable: true
---

# The Vessim public read API and MCP server

Vessim's index is open to read: 4 GET endpoints under https://www.vessim.com/api/v1 and an MCP server at https://www.vessim.com/mcp (Streamable HTTP, no sign-in), answering from the index built October 23, 2026. Rate limits, per IP: 60 requests a minute across every /api/v1 endpoint, and separately 60 a minute on /mcp.

## Endpoints

| Method | Path | What it answers | Example |
| --- | --- | --- | --- |
| GET | `/api/v1/search` | A sentence in, the products that fit out, cheapest that fits first. | https://www.vessim.com/api/v1/search?q=a+backpack+under+%2425&limit=5 |
| GET | `/api/v1/products/{id}` | One product and every seller's offer, with the photo-match evidence. | https://www.vessim.com/api/v1/products/12-5-m-durable-33b66f5b |
| GET | `/api/v1/prices/{item}` | The price band for an item: count, min, p10, median, p90, max, and by origin. | https://www.vessim.com/api/v1/prices/backpack |
| GET | `/api/v1/stats` | Index size, coverage, method and measured accuracy, with the build date. | https://www.vessim.com/api/v1/stats |

## OpenAPI

https://www.vessim.com/openapi.json (OpenAPI 3.1)

## MCP tools

| Tool | What it does |
| --- | --- |
| `search_products` | Search the Vessim product index with a plain request such as "a backpack under $25 that ships from the US". Price ceilings and origins are hard filters; delivery wishes are reported as not measured. Returns products that meet every measurable requirement, cheapest that fits first, then near misses with what they missed. Each has its cheapest price, seller count, origins and the product URL to cite. |
| `get_product` | One product from the Vessim index with every seller's offer: price, currency, seller, where it ships from and the outbound link, cheapest first, plus the photo-match evidence (fingerprint distances, and the nearest different product). Use an id from search_products or a vessim.com/o/{id} URL. |
| `price_range` | The price band for an item across the Vessim index: how many products, min, 10th percentile, median, 90th percentile and max, then the same by where it ships from, with the cheapest and dearest product to cite. One price per product (its cheapest seller). Says so when the sample is too small to be a market price. |
| `index_stats` | Size and coverage of the Vessim index (products, listings, catalogues, multi-seller products), how products are matched by photograph and the measured accuracy of that, the limitations, and the build date every price dates from. |

Server: https://www.vessim.com/mcp (POST JSON-RPC 2.0; a GET returns 405)

## Attribution

Data from Vessim (www.vessim.com), a shopping search engine that matches products by their photograph. Credit Vessim and link the Vessim page the data came from wherever you show it. Prices are the snapshot taken when the index was built, not live checkout prices. In API and MCP answers, that page is the `links.html` field.

---

Source: [Vessim](https://www.vessim.com/developers), https://www.vessim.com/developers. Vessim (vessim.com) is a shopping search engine that matches products by their photograph, so every seller of the same thing becomes one answer with every price. Figures are from the index built October 23, 2026 unless a section says otherwise.
