---
title: "AddNow API and MCP documentation"
canonical: "https://addnow.app/developers"
last-updated: "2026-09-22"
---

# AddNow API and MCP documentation

## Start without credentials

The public API and MCP server are free, read-only, and require no login, API key, token, registration, or approval. Start with GET /api/v1/product, or GET /api/v1/resources?category=developer. Connect an MCP client to https://addnow.app/mcp using Streamable HTTP. Tools: get_addnow_product, list_addnow_resources, and search_addnow_docs. Browser agents can use the same public tools through WebMCP when their browser supports it.

## Public documentation search

The same keyword search is available in this page, the search_addnow_docs MCP and WebMCP tools, and /ask. POST /ask accepts NLWeb v0.55 query: { text: "authentication" } and prefer: { mode: "list", streaming: false }. Use prefer.streaming: true for start, indexed result, and complete SSE events. GET /ask?query=authentication&streaming=false is also supported. Results come 5 per page by default (limit 1–10). When next_cursor is not null, pass it back as cursor to get the next page; the streaming complete event carries it too. Results are excerpts from the public product directory and integration documentation, not generated answers. Conversation memory, personalized results, summarize, generate, and user actions are not supported. /schemamap.xml advertises the public schema.org feed.

## Authentication and permissions

No authentication is required: OpenAPI declares security: []. Public information is the entire permission boundary. This interface cannot read personal profiles or contacts, send notifications, edit accounts, or act for a user. AddNow does not offer delegated OAuth access, client registration, or developer credentials. Do not send cookies, passwords, API keys, or bearer tokens to these public endpoints. See /auth.md for the complete access guide.

## Testing and examples

The live public endpoints are safe to test because they read public information and change no state. No separate sandbox account is needed. Try category=developer for a valid filtered response and category=invalid for a 400 validation error. JavaScript and Python examples below use their standard HTTP libraries; no AddNow SDK or CLI package is required or currently published.

## Caching, retries, and errors

Product and resource REST success responses advertise Cache-Control: public, max-age=3600, s-maxage=86400. Reuse cached responses rather than polling. MCP and /ask responses are not cached. There is no application-level per-client quota or guaranteed throughput; hosting protection may still reject requests. On 429 or 503, respect Retry-After when provided and otherwise use bounded exponential backoff with jitter. Do not retry a 400 without correcting the input. Reads are idempotent; there are no write operations needing Idempotency-Key, bulk mutations, or asynchronous jobs. Resource listing returns the complete small directory in one response, with count and resources; there is no next page.

## Versioning and deprecation policy

Product and resource REST endpoints use the /api/v1 URL namespace and includes apiVersion in responses. Additive fields and new optional capabilities may be introduced within v1; clients should ignore unknown fields. Incompatible changes use a new major URL version. Any planned deprecation will be documented here and on the affected operation in OpenAPI before removal, with Deprecation and Sunset headers identifying the announcement and removal dates. No v1 operation is currently deprecated and no sunset date is scheduled.

## Discovery and Markdown

Start at /llms.txt or the scoped /developers/llms.txt and /blog/llms.txt indexes. /.well-known/ard.json advertises supported agent resources; /.well-known/api-catalog lists public APIs. /mcp/server.json is Registry-format metadata and /.well-known/mcp/server-card.json previews the actual tools. The integration skill is listed at /.well-known/agent-skills/index.json. Public content pages have .md alternatives and support Accept: text/markdown; /?mode=agent returns the Markdown homepage. Unknown Markdown routes return HTTP 404 with recovery links. These representations contain public content only.

## Examples

### Shell

```
curl --fail https://addnow.app/api/v1/product
curl --fail 'https://addnow.app/api/v1/resources?category=developer'
```

### JavaScript

```
const response = await fetch("https://addnow.app/api/v1/product");
if (!response.ok) throw new Error("Request failed: " + response.status);
const product = await response.json();
```

### Python

```
import json
from urllib.request import urlopen

with urlopen("https://addnow.app/api/v1/product", timeout=10) as response:
    product = json.load(response)
```

### MCP client configuration

```
{
  "mcpServers": {
    "addnow": {
      "type": "http",
      "url": "https://addnow.app/mcp"
    }
  }
}
```

Support: [contact@addnow.app](mailto:contact@addnow.app)
