Read the replies to an X post to see how a launch landed
Collect the replies under any X (Twitter) post as JSON with text, author, engagement and date, to gauge reaction to a launch, announcement or complaint.
When you ship something, or a competitor does, the replies under the announcement are the fastest honest read on how it landed, but nobody reads 400 replies by hand and the thread keeps growing. Lovely Router reads them for you. Send the post link, get one JSON object per reply, pay per reply from a prepaid balance. Call it from a script, a daily report or an AI agent with one API key.
Hand it to your AI agent
Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.
Read the replies to an X post to see how a launch landed. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the inputs (links, keywords or accounts) and how many results you need>How it works
Pick the posts
Copy the links of the posts that matter: your launch thread, a competitor's announcement, a complaint that went viral.
Run the tool with a cap
Send the links to
POST /v1/tools/x-replies/runwithmax_results. The run holds its maximum cost from your balance and returns the replies as JSON.Sort what people said
Group replies into questions, praise, bug reports and feature requests, by hand or with a model, and rank them by engagement.
Get the replies to a post with one request
Get X (Twitter) post replies takes post links in postUrls. The cap goes in resultsLimit:
curl https://lovelyrouter.com/v1/tools/x-replies/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"postUrls": ["https://x.com/elonmusk/status/1905584213761351970"],
"resultsLimit": 100
},
"max_results": 100
}'A run still going after 60 seconds returns 202; Run a tool shows how to poll.
What each reply holds
| Field group | What you get |
|---|---|
| Content | The text of the reply |
| Author | Who wrote it |
| Engagement | The engagement counts on the reply |
| Time | The date it was posted |
A run returns up to 500 replies, and 20 by default. Set the cap to what you will actually read or analyze.
Recipes
Two hours after an announcement, pull the first 200 replies. Count the questions, flag the bug reports and send the top five by engagement to the team.
Ask a model to cluster the replies under a competitor's price change into themes, then use the biggest theme in your own messaging.
When a customer complaint gets traction, collect the replies to see who else has the same problem and what they tried.
Pull replies to your product posts, keep the ones ending in a question mark, and answer the most repeated ones in your docs.
Run the same job on your post and a rival's, then compare reply volume and the most engaged replies.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Read the latest 200 replies to this X post, group them into questions, complaints and praise, and quote the three most-liked in each group. Set max_results to 200."
Pair it with other X data
Replies are one thread. To see the wider conversation and who is in it:
Replies to X/Twitter posts by URL: text, author, engagement, date.
Tweets matching search terms, hashtags or from given handles: text, author, engagement, date. Each search term takes X's advanced search operators (from:, since:, min_faves:, filter:, lang: …).
Profile details for X/Twitter handles: bio, followers, following, verification, counts.
A Reddit thread's post and comments by URL: text, score, author, date, reply depth.
Comments on YouTube videos or Shorts: text, likes, replies count, author, date. Sorted by top or latest.
x-searchfinds posts about your launch that never tagged you, with operators such asmin_faves:andsince:.x-profilechecks who the loudest repliers are.reddit-commentscollects the discussion of the same launch on Reddit.youtube-commentsdoes it for a launch video.
For a standing mention feed, see social listening.
Replies come from named people. If you store or contact them, you are responsible for using that data lawfully, including privacy and anti-spam rules.
What you pay
You pay per reply: starting a run holds its maximum cost, the per-call fee plus the per-reply fee times max_results, and the run settles to what it returned. The rest of the hold goes back to your balance. A run that fails or times out pays only for the replies it delivered, and a run refused at the start costs nothing.
Reading 200 replies is billed as 200 replies. There is no subscription and no monthly minimum: top up from $5, and one balance pays for tools and models. The card above shows today's price; pricing lists every tool.
Frequently asked questions
Can I pass several posts in one run?+
postUrls is a list, so yes. The cap in resultsLimit is shared, so raise it with the number of posts.
How many replies can I get?+
Up to 500 per run, and 20 if you do not set a cap. For more, start further runs.
What is in each reply?+
The text, the author, engagement and the date.
Does it include replies to replies?+
The tool is described as replies to a post by URL. Nothing more about nested threads is documented, so check a small run first.
Do I need an X account?+
No. You send post links and an API key.
Do I need a subscription?+
No. You add credit to a prepaid balance and each run draws it down. Failed runs pay only for the results they delivered, and nothing renews automatically.
Tracking the whole conversation rather than one thread? See social listening, review monitoring and the rest of the tool catalog.