Monitor news mentions of your brand or competitors
Get Google News articles for any search as JSON: title, source, date and the link on the publisher's site, with operators and time windows.
When your company, a competitor or a product shows up in the news, you want to know the same day, not when a customer forwards it. PR teams, founders and analysts check Google News by hand, and miss what ran at 2 a.m. Lovely Router runs the search for you. Send a query, get one JSON object per article, pay per article from a prepaid balance. Call it from a cron job, a Slack bot 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.
Monitor news mentions of your brand or competitors. 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
Write the query
Use the same syntax as the Google News search box: words,
"exact phrase",OR,-word,site:example.comandintitle:word. One search runs per request, so join several topics withOR.Run it on a schedule
Send the query to
POST /v1/tools/google-news/runwithopenEndedDateRangeset to1d,maxItemsandmax_results. The run holds its maximum cost from your balance and returns the articles as JSON.Alert on what is new
Remember the links you have seen. Post only new ones to your channel, or pass them to a model to summarize.
Get news mentions with one request
Search Google News takes a query. openEndedDateRange limits the window, language sets the region and language pair, and maxItems caps the articles:
curl https://lovelyrouter.com/v1/tools/google-news/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"query": "openai",
"language": "US:en",
"openEndedDateRange": "1d",
"maxItems": 10
},
"max_results": 10
}'A run still going after 60 seconds returns 202; Run a tool shows how to poll. openEndedDateRange takes a number followed by h, d or y, such as 12h or 7d. For fixed dates, use dateFrom and dateTo (YYYY-MM-DD).
What each article holds
| Field group | What you get |
|---|---|
| Headline | The article title |
| Publisher | The source name |
| Timing | The publication date |
| Link | The article's link on the publisher's site |
Recipes
Query your company name with 1d, and post new articles to a channel each morning with a model-written two-line summary.
Use "Northwind Outdoor" -jobs -stock style queries with exact phrases and minus words so that only relevant mentions come back.
Combine the brand with site: to see only what one outlet writes about you or a rival.
Query Competitor OR "Competitor Pro" with intitle: and a 7d window, and read the headlines before your Monday meeting.
Run the same query with different language pairs, such as US:en and DE:de, to see how coverage differs between markets.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Find news from the last 7 days that mentions our company name, drop anything about jobs, and give me a table of headline, source and date. Set max_results to 30."
Pair it with other listening sources
News is the slow, formal side of public conversation. Pair it with the fast side:
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.
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: …).
Reddit posts for a query or subreddit: title, body, score, comments count, author, date.
Google Trends interest over time and by region for a keyword.
Google results pages for a query: organic results (position, title, URL, snippet, date, sitelinks) and related searches. One result = one results page (~10 links).
x-searchfinds posts that match terms, hashtags or handles, with text, author, engagement and date.reddit-searchreturns Reddit posts for a query or subreddit, with score and comment count.google-trendsshows how search interest in your name moves over time and by region.google-searchshows what searchers see on the results page for your brand.
For the wider workflow, 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.
Checking one query daily for 20 articles is billed as 20 articles a day. 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
Which search operators work?+
Exact phrases in quotes, OR, -word, site: and intitle:. Only one search runs per request, so combine topics with OR.
How many articles can one run return?+
Up to 100 articles per run through maxItems and max_results.
Can I limit results to the last day?+
Yes. Set openEndedDateRange to 1d, or 1h, 12h, 7d or 1y. It overrides dateFrom and dateTo.
Can I search in other languages and countries?+
Yes. language takes a region and language pair such as US:en, DE:de, FR:fr or JP:ja.
Do I get the full article text?+
The tool returns the title, source, date and the link to the article on the publisher's site. To read the page itself, pass the link to web-page-markdown.
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.
Listening beyond the news? See social listening, the tool catalog, and pricing.