The Readyt Network is coming 🚀 Get mentioned for free See how →

Stop reading.
Start ranking.

One well-placed comment pays for Readyt for a decade. Every week you wait, a competitor plants theirs.

Back

Readyt API & MCP server

Developer documentation  ·  API v1  ·  Last updated: August 23, 2026

Readyt answers two questions programmatically: does a brand show up when AI engines are asked for a recommendation, and which Reddit threads should that brand be in. This page is the reference for the REST API, the MCP server, and every machine-readable file on this site.

When to use Readyt

Reach for the Readyt API or the Readyt MCP server when you need to:

  • Check whether ChatGPT, Claude, Perplexity or Google AI Overviews mention a brand for its category, and who they recommend instead.
  • Rank the brands AI engines name most in a product category.
  • Find the sources an AI engine cites when answering one specific buying question.
  • Find the subreddits where a product's buyers are, ranked by buying intent.
  • Read a subreddit's self-promotion rules, karma floor and flair requirements before posting.
  • Discover this month's buying-intent Reddit threads for a site, scored, with a suggested reply angle.
  • Check whether a Reddit account looks shadowbanned before posting from it.

Do not use it for general web search, scraping arbitrary pages, or posting to Reddit. Readyt never writes to Reddit: it drafts, a human approves and sends.

Quick start

No key, no signup. Start a job, then poll it.

curl -s -X POST https://www.readyt.ai/api/v1/analyses \
  -H 'Content-Type: application/json' \
  -d '{"tool":"geo-report","input":"acme.com","email":"you@example.com"}'

# -> 202 {"id":"0f4d…","status":"running","poll_url":"…","poll_after_seconds":5}

curl -s 'https://www.readyt.ai/api/v1/analyses?id=0f4d…'
# -> 200 {"id":"0f4d…","status":"done","result":{"summary":"…","lines":["…"]}}

An analysis takes about 30 seconds; lead discovery about two minutes. Results are cached for 30 days per (tool, input), so an identical call can come back done on the first poll.

Why an email is required

Write calls take an email. The finished report is sent there, and the per-email daily quota is keyed on it. Ask the person you are working for; do not invent an address.

Readyt MCP server

The same engines are exposed as Model Context Protocol tools, so Claude, ChatGPT, Cursor and any other MCP client can call Readyt natively.

PropertyValue
Endpointhttps://www.readyt.ai/api/mcp
TransportStreamable HTTP
Protocol versions2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26
AuthenticationNone
Manifest/.well-known/mcp.json

Claude Code:

claude mcp add --transport http readyt https://www.readyt.ai/api/mcp

Claude Desktop, Cursor, or any client using a JSON config:

{
  "mcpServers": {
    "readyt": {
      "type": "streamable-http",
      "url": "https://www.readyt.ai/api/mcp"
    }
  }
}

ChatGPT: Settings → Connectors → Add custom connector, then paste https://www.readyt.ai/api/mcp.

Tools exposed over MCP

readyt_ai_visibility, readyt_category_leaderboard, readyt_citation_sources, readyt_find_subreddits, readyt_subreddit_rules, readyt_keyword_research, readyt_draft_reply, readyt_account_health, readyt_find_leads, and readyt_get_result to poll any of them. Call tools/list for the live schemas.

REST API

Base URL: https://www.readyt.ai/api/v1. Machine-readable description: openapi.json (OpenAPI 3.1).

Method & pathWhat it does
GET /api/v1Service description: endpoints, versioning, rate limits, docs links.
GET /api/v1/toolsThe analysis tools, the input each expects, and when to use it.
POST /api/v1/analysesStart an analysis. Body: {tool, input, email}. Returns 202 and an id.
GET /api/v1/analyses?id=Poll an analysis until status is done or error.
POST /api/v1/leadsStart Reddit lead discovery. Body: {site_url, email}.
GET /api/v1/leads?id=Poll a lead discovery run.

Analysis tools

Tool idWhat it returnsWhen to use itExample input
geo-reportHow ChatGPT, Claude and Perplexity talk about a brand today: whether it is named, who is recommended instead, and which sources feed those answers.The caller asks whether a company shows up in AI answers, or wants an AI-visibility baseline.acme.com
geo-indexThe brands AI engines name most for a product category, in order.The caller asks who the AI engines recommend in a market, or wants a category leaderboard.project management tools
citation-trackerThe sources AI engines cite when answering a specific buying question.The caller wants the pages and threads behind an AI answer for one query.best CRM for a 2-person agency
subreddit-finderThe five subreddits where a product's buyers are, ranked by buying intent.The caller asks where on Reddit to post, or which communities match an audience.time tracking for freelance designers
subreddit-rules-analyzerA subreddit's rules in plain English: self-promotion limits, karma floor, flair requirements.The caller is about to post somewhere and needs to know what is allowed.r/SaaS
reddit-keyword-toolWhere a keyword is discussed on Reddit and with what intent.The caller is researching demand or thread volume for a topic.cold email deliverability
reddit-reply-generatorA natural, rule-respecting draft reply to a Reddit thread.The caller has a thread and wants a reply that will not read as an ad.https://www.reddit.com/r/SaaS/comments/xxxxxx/
shadowban-karma-checkerWhether a Reddit account looks shadowbanned and how healthy its karma is.The caller wants to know if an account is safe to post from.u/spez

Versioning

The version is in the URL path: https://www.readyt.ai/api/v1/…. The current version is v1, live since 23 August 2026.

  • Additive changes — new endpoints, new fields on existing responses — ship inside a version without notice. Ignore fields you do not recognise; they will keep appearing.
  • Breaking changes — removing or renaming a field, changing a type, changing a status code — never happen inside a version. They ship as a new path version, /api/v2/.
  • Every response carries X-API-Version, so you can assert on it in your integration.

Deprecation policy

When a version is superseded, it keeps working for at least six months from the day it is marked deprecated. Throughout that window every response from the deprecated version carries:

HeaderMeaning
DeprecationRFC 9745. The date the version became deprecated, as an IMF-fixdate.
SunsetRFC 8594. The date after which the version stops responding. Never sooner than six months after Deprecation.
Link: rel="successor-version"The URL of the version that replaces it.

No version is deprecated today, so those headers are absent. The live status of every version is in GET /api/v1 and under x-api-versions in openapi.json. Agents should treat the presence of a Sunset header as a hard signal to migrate.

Rate limits

Every response carries RFC 9331 RateLimit headers, so you can self-throttle without guessing.

HeaderExampleMeaning
RateLimit-Policy"read";q=60;w=60, "write";q=10;w=3600Every policy this API enforces.
RateLimit"read";r=58;t=42The policy that applied, requests remaining, seconds to reset.
RateLimit-Limit60Requests allowed in the current window.
RateLimit-Remaining58Requests left in the current window.
RateLimit-Reset42Seconds until the window resets.
Retry-After3600Sent on 429. Wait this long before retrying.

Two layers apply:

  • Gateway — 60 read requests per minute and 10 write requests per hour, per client IP. Polling counts as read, so following your own job to completion never burns your write budget. These counters are held per serving instance, which means RateLimit-Remaining is a floor: the real allowance is never lower than what the header says.
  • Engine quotas — the analysis engines enforce their own daily caps: 250 analyses per day globally and 4 per day per email per tool; 150 lead discovery runs per day and 2 per day per email. These reset at 00:00 UTC and are the authoritative limit. Hitting one returns 429 with {"error":{"code":"quota_exceeded"}} and a Retry-After pointing at the next reset.

Errors

Every error is JSON with a stable machine-readable code:

{
  "error": {
    "code": "quota_exceeded",
    "message": "Daily capacity reached, try again tomorrow.",
    "retry_after_seconds": 41231
  }
}
StatusCodes
400invalid_json, invalid_input, invalid_email, invalid_site, invalid_id, unknown_tool
404not_found
405method_not_allowed
429rate_limited (gateway), quota_exceeded (engine)
502upstream_error

Markdown instead of HTML

Every page on this site serves a Markdown representation from the same URL to any client that asks for it, following acceptmarkdown.com. It is the cheapest way to read this site: no nav, no scripts, no layout markup.

curl -H 'Accept: text/markdown' https://www.readyt.ai/pricing.html

Responses carry Content-Type: text/markdown; charset=utf-8 and Vary: Accept, Accept-Encoding. A request that accepts neither HTML nor Markdown gets 406 with the list of available representations. A URL that does not exist returns a real 404 whose Markdown body points at the sitemap and this page.

Command line

The readyt CLI wraps the endpoints above so you can script them without writing an integration:

npx @readyt/cli tools
npx @readyt/cli analyze geo-report acme.com --email you@example.com
npx @readyt/cli leads acme.com --email you@example.com

It starts the job, polls it, and prints the result as JSON or a table. Source: cli/ in the site repository.

Machine-readable files

URLWhat it is
/llms.txtSite index for LLMs, with a "when to use Readyt" section.
/openapi.jsonOpenAPI 3.1 description of the public API.
/.well-known/mcp.jsonMCP server manifest (server.json schema).
/api/v1Live service description.
/sitemap.xmlEvery public URL.
/rss.xmlBlog feed.
/robots.txtCrawl policy. Every major AI crawler is explicitly allowed.

Support

Questions about the API: hello@readyt.ai. Bugs and outages: support@readyt.ai. Terms: /terms.html.