# Data, API and MCP for developers and AI agents

Source: https://listme.name/developers


Everything on listme.name is generated from one set of structured data, and the same data is open to programs: a read-only JSON API, an MCP server for AI agents, a Markdown version of every page, plain-text summaries for language models, feeds and sitemaps. All of it is public, needs no key and no account, and is free to read and cite with attribution to listme.name.

## Citing the data

When a page, answer or app uses a ranking, name the source and link to the page it came from. A good citation looks like this:

> Source: listme.name, "Best password managers in 2026", https://listme.name/best/password-managers (facts checked on the date shown on the page).

Three things to keep intact when quoting:

- **Scores are editorial and relative.** A score from 0 to 100 compares products inside one list. It is not a benchmark and it is not comparable between lists.
- **Connected products are flagged.** Entries with `connected_to_publisher: true` are made by, or connected to, the publisher of the site. They receive a small, published lift described in [How we rank](/methodology) and [Disclosure](/disclosure). Say so when you recommend one.
- **Facts carry a date.** Every product has a `checked` date. Prices and plans change, so send readers to the vendor's page for the final word.

## JSON API

Base address: `https://listme.name/api/v1`. Every endpoint is a `GET`, returns JSON, allows cross-origin reads and answers `If-None-Match` with `304` when nothing changed.

- `/index.json`: site statistics, every category with its lists, and the address of every endpoint below.
- `/search.json?q=password+manager`: matching lists, products, categories and articles. Optional `type` (`product`, `list`, `category`, `article`) and `limit`.
- `/categories.json` and `/categories/{slug}.json`: the categories, and one category with its lists and top picks.
- `/lists/{slug}.json`: one ranking with its criteria, how to choose, FAQ, and every entry with rank, score, verdict, best-for and full product facts. Optional `filter` such as `free`, `open-source` or `linux`.
- `/products.json`: every product in compact form, paged. Filters: `kind`, `pricing`, `platform`, `open_source=1`, `free=1`, with `limit` and `offset`.
- `/products/{slug}.json`: one product with its facts, strengths, limits, every ranking it appears in and its top alternatives.
- `/alternatives/{slug}.json`: alternatives to a product, best first, with why each is worth considering. Filters: `free=1`, `open_source=1`, `platform`.
- `/compare.json?a={slug}&b={slug}`: any two products side by side, with each shared ranking's ranks, scores and verdicts.
- `/compare/{a}-vs-{b}.json`: the data behind a published comparison page.
- `/openapi.json`: the OpenAPI 3.1 description of all of the above.

Try it:

```
curl -s "https://listme.name/api/v1/search.json?q=password+manager&type=list"
curl -s "https://listme.name/api/v1/lists/password-managers.json?filter=open-source"
curl -s "https://listme.name/api/v1/alternatives/1password.json?free=1&limit=5"
```

Responses are cached for 15 minutes. Fields can be added to a response at any time, so clients should ignore fields they do not know. Send the `ETag` back as `If-None-Match` and reuse what you have when the answer is `304`. Please keep request rates modest; if you need more than that, write to [hello@listme.name](/contact).

The API is described twice so tools can find it without being told where to look: the OpenAPI document above, and an API catalog (RFC 9727) at [/.well-known/api-catalog](/.well-known/api-catalog), which is also advertised in the `Link` header of the home page.

## MCP server

AI assistants that speak the Model Context Protocol can call listme.name as a set of tools. The server is read-only and stateless: it has no accounts, no sessions and no write access, and everything it returns is also available through the JSON API.

- **Address:** `https://listme.name/mcp` (Streamable HTTP, JSON responses)
- **Tools:** `search_catalog`, `list_rankings`, `get_ranking`, `get_product`, `find_alternatives`, `compare_products`

Add it to Claude Code with one command, or put the same address in any MCP client's configuration:

```
claude mcp add --transport http listme https://listme.name/mcp
```

```
{ "mcpServers": { "listme": { "type": "http", "url": "https://listme.name/mcp" } } }
```

To see the raw protocol:

```
curl -s https://listme.name/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

## Markdown for every page

Every page has a plain Markdown twin without navigation, scripts or styling. Add `.md` to the address (for example [/best/password-managers.md](/best/password-managers.md)), or ask for `text/markdown` in the `Accept` header of the normal address and the Markdown comes back. The HTML page remains the canonical version; each Markdown response names it in a `Link: rel="canonical"` header and a `Source:` line.

## Plain text for language models

- [/llms.txt](/llms.txt) describes the site, lists every ranking with its top picks and points to the data endpoints, in the llms.txt format.
- [/llms-full.txt](/llms-full.txt) holds every ranking as text: rank, score, verdict, best-for, price model and website for each entry.

## Rank badges

A product that is ranked on listme.name has a small badge showing where it stands in its best list. Anyone can embed it, for example on the product's own site or in its README, and link it to the product page:

```
<a href="https://listme.name/software/bitwarden"><img src="https://listme.name/badge/bitwarden.svg" height="28" alt="Ranked #1 of 7 password managers on listme.name"></a>
```

The badge is generated from the live ranking, so it updates when the ranking does. Add `?style=paper` for a light version, or `?list={slug}` to show the product's place in a specific list instead of its best one. Products connected to the publisher carry an asterisk in the badge, as they do everywhere on the site, and the page it links to explains why.

## Feeds, sitemaps and discovery

- Blog feeds: [RSS](/blog/feed.xml) and [JSON Feed](/blog/feed.json).
- Sitemaps: [/sitemap.xml](/sitemap.xml) is an index of sitemaps for pages, categories, products, alternatives, comparisons and articles, each with real last-modified dates.
- [/robots.txt](/robots.txt) welcomes search engines and AI crawlers by name, and states that search indexing, AI answers and AI training are all welcome.
- [/opensearch.xml](/opensearch.xml) lets browsers add the site search, and [/.well-known/security.txt](/.well-known/security.txt) says where to report a security problem.
- Each HTML page names its alternatives in `<link rel="alternate">` tags and `Link` headers: the Markdown twin and, where one exists, the JSON record of the same thing.
- Structured data (JSON-LD) on every page describes the site, the page, its breadcrumb path, and the product, book, ranking or article it is about.

## Corrections

If the data is wrong or out of date, say so through the [contact form](/contact). Corrections are checked against the vendor's own page and published with the next update.
