Developer Resources

ProductIndex exposes its product intelligence database through several integration surfaces — an MCP server for AI agents, an Agent card for A2A-compatible orchestrators, multi-format per-product endpoints for RAG pipelines, and static text files for LLM crawlers. All integrations are free for low-volume use. No API key required to get started.

MCP Server

The primary integration for AI assistants and agents. Six tools over Streamable HTTP (MCP 2025-03-26).

Endpoint https://productindex.ai/api/mcp/
Protocol MCP 2025-03-26 · Streamable HTTP (POST only)
Auth Optional OAuth 2.1 — anonymous 30 req/hr, signed-in 500 req/day
Descriptor /.well-known/mcp.json

Trailing slash required — use https://productindex.ai/api/mcp/ not /api/mcp. Some clients (including Grok) do not follow the 308 redirect that the slash-less URL returns, causing zero tools to be discovered.

MCP Tools

Tool Description
list_categories All 23 categories with product counts
list_category_products Paginated category browse — sort, price range, on_sale / discontinued filters
get_product Full product profile by slug; optional sections param for subset retrieval
search_products Semantic search via pgvector + Cohere reranking; keyword fallback; sort and price range params
find_similar Nearest-neighbour similarity anchored to a known product; optional max_price filter
find_retailers Merchants carrying a specific product — returns buy links with affiliate attribution

Full setup instructions for Grok, Claude Desktop, Cursor, and Windsurf, plus tool reference and example calls: MCP Server documentation →

Multi-format content endpoints

Every product is available in three machine-readable formats in addition to the HTML page. These are designed for direct RAG ingestion, structured data pipelines, and LLM agents that prefer to fetch content by URL rather than using the MCP server.

Format URL pattern Use case
HTML /p/{category}/{slug} Human-readable product page
Markdown /p/{category}/{slug}.md LLM-friendly; includes verdict, themes, specs, images, where-to-buy pointer. noindex.
JSON-LD /p/{category}/{slug}.json Schema.org Product object; structured data consumers and search integrations. noindex.

Category-level markdown is available at /c/{category}.md — a full dump of all product profiles in a category as a single document, suitable for bulk RAG ingestion.

Agent Card (A2A)

ProductIndex publishes a Google Agent-to-Agent (A2A) compatible agent card describing its skills and capabilities in machine-readable JSON. Read automatically by A2A-compatible orchestrators.

Card URL /.well-known/agent.json
Skills Product recommendation · Product lookup · Category browse · Current offers · What changed
Registry Pending — Google A2A registry and Linux Foundation AI Agent Registry

LLM Text Files

Static files formatted for LLM context windows and RAG pipelines, following the llms.txt convention.

File Contents
llms.txt MCP server reference + index of all products with one-line verdicts. Start here.
llms-full.txt Full text of every product profile — suitable for offline RAG ingestion. Large file.

Discovery Endpoints

Standard .well-known paths for automated discovery by agents and OAuth clients.

Path Purpose
/.well-known/mcp.json MCP descriptor — tool schemas and per-client config blocks
/.well-known/agent.json A2A agent card — skills, capabilities, and MCP extension pointer
/.well-known/oauth-authorization-server OAuth 2.1 authorization server metadata (RFC 8414)
/.well-known/oauth-protected-resource OAuth protected resource metadata (RFC 9728)

Rate limits and authentication

Authentication is optional — the anonymous tier is sufficient for testing and low-volume integrations. OAuth 2.1 with PKCE is used for authenticated access; AI clients like Grok and Claude Desktop handle the sign-in flow automatically.

Tier Limit How to activate
Anonymous 30 requests / hour per IP No setup — just POST to the endpoint
Signed-in (free) 500 requests / day OAuth 2.1 — clients like Grok handle sign-in automatically

Remaining quota and reset time are returned on every response as X-RateLimit-Remaining and X-RateLimit-Reset headers.

Questions

For integration questions or to report an issue with the API: hello@productindex.ai