Medium article research for content briefs and topic scouting
Pull Medium articles on a topic as JSON with full text, claps, responses and reading time, to brief writers and see which angles already get traction.
Before you commission or write a post, you want to know what is already out there: which angles got claps, how long the strong pieces run and which publications keep covering the topic. Reading fifty Medium articles by hand takes an afternoon. Lovely Router does it in one call. Send a search, tag, author or publication, get one JSON object per article with the text as Markdown, pay per article from a prepaid balance.
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.
Medium article research for content briefs and topic scouting. 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 your entry point
Use a keyword search for an open topic, a tag such as
machine-learningfor a whole subject, or authors and publications when you already know who matters.Run the tool with a cap
Send it to
POST /v1/tools/medium-articles/runwithmax_results. The run holds its maximum cost from your balance and returns the articles as JSON.Read and rank
Sort by claps and responses, group by tag, and hand the Markdown text to a model to summarize each angle or extract the structure of the best performers.
Get articles for a topic with one request
Search Medium articles takes a keyword in searchQuery, and the cap on articles in maxArticles:
curl https://lovelyrouter.com/v1/tools/medium-articles/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"searchQuery": "ai agents",
"maxArticles": 20
},
"max_results": 20
}'The call above returns up to 20 articles about the topic. You can also pass tags, authors, publications or articleUrls instead of a search. A run still going after 60 seconds returns 202; Run a tool shows how to poll.
What each article holds
| Field group | What you get |
|---|---|
| Identity | Title, subtitle, author, publication |
| Traction | Claps and responses |
| Format | Reading time and tags |
| Timing | Publication date |
| Content | The article text as Markdown |
Member-only stories return Medium's public preview rather than the full text, and the result is flagged so you can tell them apart.
Recipes
Search your target keyword, take the ten most-clapped articles, and give the Markdown to a model to produce an outline with the shared sections and the gaps nobody covers.
Run a tag with tagSort set to top, group the results by tag combination, and compare claps and reading time to see which formats earn attention.
Pass a publication slug once a week and store the new titles. Flag topics it has started covering that you have not.
Collect articles by authors you trust, ask a model for a two-line summary of each, and send the digest to your team.
Search the exact phrase you plan to write about. If the top results are old or thin, the topic is open; if not, pick a narrower angle.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Search Medium for 'vector database', take 30 articles, sort by claps and give me a table of title, publication, claps and reading time, plus the three recurring subtopics. Set max_results to 30."
Pair it with other content sources
Medium shows what writers published. Search results, news and forums show what readers look for:
Medium articles by keyword search, tag, author, publication or link, with their text as Markdown: title, subtitle, author, publication, claps, responses, reading time, tags, date. Member-only stories give Medium's public preview (flagged).
Google results pages for a query: organic results (position, title, URL, snippet, date, sitelinks) and related searches. One result = one results page (~10 links).
News articles from Google News for a search (operators work: "exact phrase", OR, -word, site:, intitle:), optionally within a time window: title, source, date and the article's link on the publisher's site.
Reddit posts for a query or subreddit: title, body, score, comments count, author, date.
google-searchshows which pages rank for the same keyword, so you can compare Medium with the open web.google-newsadds recent news coverage on the topic.reddit-searchshows the questions people ask in their own words.
For listening to wider conversation around a topic, see social listening.
What you pay
You pay per article: starting a run holds its maximum cost, the per-call fee plus the per-article 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 articles it delivered, and a run refused at the start costs nothing.
Scanning 200 articles is billed as 200 articles. 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
Do I get the full article text?+
Yes, as Markdown, for articles that are open to read. Member-only stories return Medium's public preview, and the result is flagged.
+
Yes. Use tags, authors or publications, or pass specific links in articleUrls. Tags can be ordered by newest or top.
How many articles can one run return?+
Up to 200 articles, set with max_results.
Do the results include comments?+
Each article has a response count. The response text itself is not part of the result.
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.
Looking for conversations rather than articles? See social listening, research agents and the rest of the tool catalog.