Data, API and MCP for developers and AI agents

How to read listme.name from code: the JSON API and OpenAPI document, the MCP server, Markdown pages, llms.txt, feeds and sitemaps, plus how to cite the data.

Last updated Oct 10, 2026

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 and 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.

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, 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), 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 describes the site, lists every ranking with its top picks and points to the data endpoints, in the llms.txt format.
  • /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 and JSON Feed.
  • Sitemaps: /sitemap.xml is an index of sitemaps for pages, categories, products, alternatives, comparisons and articles, each with real last-modified dates.
  • /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 lets browsers add the site search, and /.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. Corrections are checked against the vendor's own page and published with the next update.