surfaces: ["google_news"]

The Google News SERP API, rendered, structured, one contract.

News results move fast and vanish faster. We render real Google News results in a browser and return them as the canonical Envelope, the page normalized into the answer, with an opt-in proof-of-page HTML snapshot of the rendered page available on request. What the news tab showed on a given day, in a given country, comes back as the same structured Envelope every other surface uses.

Credit cost
3 credits / successful capture
Regions
any ISO country
Capture method
capture: browser
POST /v1/search
curl -sS -X POST "https://api.aisearchapi.dev/v1/search" \
  -H "Authorization: Bearer $AISEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "openai antitrust",
    "surfaces": ["google_news"],
    "regions": [{ "country": "US" }, { "country": "GB" }, { "country": "JP" }]
  }'
# → 202 { "jobId": "…", "children": ["….google_news.…"] }
# then poll GET /v1/jobs/:childId, or add ?mode=sync for an inline Envelope

What a Google News capture returns.

One canonical Envelope, the same four sections every surface returns, with the fields Google News actually populates. Field names below are the contract, not a summary.

answer.text · answer.markdown

The news results normalized into the answer as rendered; empty (with surfacePresent:false) when the page had no results, never fabricated.

answer.markdown (inline stories)

The stories, with their links, come through inline in the answer markdown in page order, ready for your own extraction.

provenance.region

News is the most geo-divergent surface Google runs. Requested-vs-effective region per capture makes cross-market coverage comparisons honest.

provenance.surfacePresent

A query with no news results completes truthfully as surface_absent rather than erroring, absence of coverage is itself a signal.

html (opt-in proof-of-page)

Set include.html:true and the Envelope carries a top-level html URL — a proof-of-page snapshot of the rendered news page, fetchable at GET /v1/artifacts/{key} after the stories rotate out. Off by default.

Envelope excerpt, google_news
{
  "job": {
    "id": "job_5f91d2ab.google_news.GB",
    "surface": "google_news",
    "status": "completed",
    "warnings": []
  },
  "provenance": {
    "surfacePresent": true,
    "region": { "requested": "GB", "effective": "GB" }
  },
  "answer": {
    "text": "OpenAI antitrust probe widens, via Reuters…",
    "markdown": "- [OpenAI antitrust probe widens](https://reuters.com/…)\n- [Regulators weigh AI market rules](https://ft.com/…)",
    "blocks": [ { "type": "list", "text": "…" } ]
  }
}

Cost and regions, on the record.

Google News results captured live.

Phase-2 surfaces are roadmap, not product. Requesting one returns an honest 422 today. The full picture is on the coverage page.

cost: 3 credits (charged on success only)free tier: 500 credits, pricing
regions:USGBDEFRCAAUINJPBR+ optional city & language

Google News capture, asked precisely.

What does a google_news capture return?

The news results as rendered in a real browser session in your requested country, the stories with their links in page order, normalized into the answer. Set include.html:true and you also get a proof-of-page HTML snapshot of the rendered page, fetchable at GET /v1/artifacts/{key}.

Can I compare news coverage across countries?

That is the primary workflow: one request with multiple regions (any ISO-3166 country, up to 10 per request) fans out into one child Envelope per market, each stamped with requested-vs-effective geo. Diff the answers to see which stories each market is shown.

How current are the results?

Each capture is a live browser render at the moment the job runs, and provenance.capturedAt records the exact UTC timestamp. Request the opt-in proof-of-page HTML snapshot to freeze the page as it stood. For a rolling record, schedule recurring captures and diff the Envelopes.

What does a capture cost?

Per-surface credit costs are published on the pricing page; google_news follows the same rules as every surface, charged only on success, every field included, 500 free credits to start.

Is there an official Google News API?

No, Google retired its News API years ago, and no official replacement exposes the rendered news SERP. Rendering the real page is the only way to observe it.

Capture Google News in one request.

500 free credits, charged only on success, and the same Envelope for every other surface when you add them.