> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/google-news/articles-resolve>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/google-news/articles-resolve.mdx>

---

# Google News Article Link API

Turn article ids from search or a topic into the publisher's own URLs, up to ten at a time.

`GET /v1/google-news/articles/resolve?ids=…` takes 1 to 10 article ids, comma-separated, and returns `edition` and `results`. Each result is `{ id, url }`, in request order. Duplicates are dropped before the request, and one credit covers the whole batch.

The ids are the ones search, a topic, Headlines or a story already return. `url` is the publisher's article URL, or null when it is not available. A null URL is a completed answer, not a failure: keep the id and try again later if you need the link. One refused id does not fail the batch; it keeps its place with `url: null`, and the other ids still resolve.

Send `language` and `country` to choose the edition used for the resolution. The resolved pair is in `edition`.

## Request

- **Endpoint:** `GET /v1/google-news/articles/resolve`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by article ids
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/google-news/articles/resolve/get)
- **Platform page:** [/platforms/google-news](https://www.socialfetch.dev/platforms/google-news)

## FAQ

### How many ids can I send?

Between 1 and 10 per request, comma-separated. One credit covers the whole batch, not each id.

### Why is a url null?

The publisher URL for that id is not available at this moment. The id is still in `results` with its null URL, so your batch stays aligned.

### What happens to duplicates?

Duplicates are dropped before the request. The returned order follows the ids you sent, with the duplicate removed.

### Which edition is used?

Send a supported `language` and `country` pair. The pair used is returned in `edition`.

### How many credits does it cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
