Signup comes with $1 in credit. No subscription needed.Claim your $1

Tools / Web search and scraping / API

Fetch news articles into a Python script with one POST

In Python, requests.post to https://api.routergrowth.com/v1/run with a Bearer key and a body naming news.search, the query, a location such as Germany and a language. result.articles is a list of dicts with title, source, domain, snippet, url and published_at, and result.location_resolved shows how the location was read.

Real run: 10 records $0.0035 per search news.search MCP · REST · CLI

Ask your agent

Write a Python script that pulls offshore wind news for Germany, the UK and Denmark each morning and appends new URLs to a CSV.

Connect RouterGrowth once, then ask in plain words. New workspaces start with $1 of credit. Get a key or read the setup guide.

A real run

What does it return?

One call to news.search (news search), run through RouterGrowth on October 26, 2026. These are the first rows it returned; fields that name a person are masked.

10records returned
4.6 sto answer
$0.004charged for the run
publisheddomaintitle
2026-10-26www.offshorewind.bizPrysmian's New Cable-Laying Vessel Performing Sea Trials
2026-10-12www.rwe.comRWE completes sale of shares in Five Estuaries Offshore Wind Farm
www.enerdata.netDenmark’s CIP moves forward with 1 GW offshore wind in Vietnam

Ten English articles on offshore wind with location Germany (code 2276): a cable vessel, an RWE sale, German grid plans and Vietnam projects; one article came with no time.

Step by step

How do you do it?

  1. Read the key from the environment

    key = os.environ['ROUTERGROWTH_API_KEY'], sent as Authorization: Bearer.

  2. POST the query

    requests.post(url, json={'capability': 'news.search', 'input': {'query': 'offshore wind', 'location': 'Germany', 'language': 'en'}}, headers=headers, timeout=60).

  3. Load result.articles

    pandas.DataFrame(r.json()['result']['articles']) gives one row per article.

  4. Parse the times

    pandas.to_datetime on published_at; empty strings become NaT, so filter or fill them.

Price

What does it cost?

List prices on this call, read from the catalog when this page was built. The exact figure is quoted before every run, and a monthly plan lowers it.

$0.0035per search
No seatand no monthly plan needed
$0when the call finds nothing

In practice

What do you ask it?

You describe the job; the agent picks the calls, shows the price and runs them.

Write a Python script that pulls offshore wind news for Germany, the UK and Denmark each morning and appends new URLs to a CSV.

In Python, fetch news on our category, then scrape the top three articles and save them as markdown files.

Connect

How do you connect it?

One MCP server for Claude, ChatGPT, Claude Code, Codex and Cursor, or the same call over the CLI and REST with the input above.

MCP server
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
CLI
npm install -g routergrowth && routergrowth setup
routergrowth run -c news.search -i '{"query": "offshore wind", "location": "Germany", "language": "en", "limit": 8}'
REST
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "news.search", "input": {"query": "offshore wind", "location": "Germany", "language": "en", "limit": 8}}'

Worth knowing

What should you know first?

Check location_resolved

It shows the location code and name the query used. matched false means the location was not recognized.

Some times are empty

An article can come back with an empty published_at. Keep it, but sort it last.

Ten at a time

Articles are fetched in tens, so a limit of 8 can return 10. Slice the list in code.

FAQ

Questions about news api python

Is there a Python package?

None is needed. requests or httpx and your key are enough.

What format is published_at?

A string such as 2026-10-26 06:59:39 +00:00, which pandas.to_datetime reads.

Can I run several queries at once?

Yes. Send them concurrently; each query is its own run.

What happens when a call fails?

The response says why and nothing is charged. Retry once or skip that query.

More on Web search and scraping

Related pages

Reading this as an agent? This page as markdown: /tools/web-scraping/news-api-python.md

One key. Every network.

Connect your agent once. The first calls run on the $1 that comes with signup.