---
title: World News API
slug: world-news-api
url: https://apyhub.com/skycraft/service/world-news-api
provider: Skycraft
categories: [Artificial Intelligence, Data Extraction, Geolocation]
tags: [news, media-monitoring, content-extraction, news-search, headline-data, sentiment-analysis]
auth: api_key
version: 2.2.0
service_type: sync
endpoints: 9
atoms: 20
mcp: true
---

# World News API

Search, extract, and retrieve news articles by URL, IDs, or source filters. Get titles, authors, summaries, publish dates, sentiment, and links.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/extract-news` | What it does Extracts structured information from a news article URL. It returns the article’s core… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/search-news-sources` | What it does Searches for news sources matching a provided name and returns a JSON object containin… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/geo-coordinates` | What it does Resolves a geographic location string into coordinates. The response returns the match… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/search-news` | What it does Searches for news articles using the provided query parameters and returns a paginated… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/top-news` | What it does Returns the top news for the requested source country and language, with an optional d… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/extract-news-links` | What it does Extracts news links from a provided URL and returns them in a JSON object. The endpoin… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/feed.rss` | What it does Converts a news website URL into an RSS feed representation. It accepts the website UR… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-front-page` | What it does Retrieves a newspaper front page for the specified query criteria and returns it in a… | 20 |
| GET | `https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-news` | What it does Retrieves one or more news articles by their IDs and returns them in a JSON object und… | 20 |

## Endpoint reference

### Extract News

`GET https://api.eu.apyhub.com/skycraft/world-news-api/extract-news` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `url` | query | string | yes | Example: `https://www.bbc.com/news/world-us-canada-59340789`. |
| `analyze` | query | boolean | no | Example: `true`. |

#### Quickstart

Fetch article metadata and extracted content from a news page by passing its URL as a query parameter.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/extract-news?url=https%3A%2F%2Fwww.bbc.com%2Fnews%2Fworld-us-canada-59340789" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with optional top-level fields such as `url`, `text`, `image`, `title`, `video`, `author`, `images`, `videos`, `authors`, `language`, and `publish_date`.

```json
{
  "url": "https://www.bbc.com/news/world-us-canada-59340789",
  "title": "Example headline",
  "author": "BBC News",
  "language": "en",
  "publish_date": "2021-11-18T12:00:00Z"
}
```

### Search News Sources

`GET https://api.eu.apyhub.com/skycraft/world-news-api/search-news-sources` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `name` | query | string | yes | Example: `bbc`. |

#### Quickstart

Find news sources by name with a simple GET request; this example looks up `bbc`.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/search-news-sources?name=bbc" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with a `sources` array and an `available` integer. Each item in `sources` is an object that may include `url`, `name`, and `language`.

```json
{
  "sources": [
    {
      "url": "https://www.bbc.com/news",
      "name": "BBC News",
      "language": "en"
    }
  ],
  "available": 1
}
```

### Get Geo Coordinates

`GET https://api.eu.apyhub.com/skycraft/world-news-api/geo-coordinates` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `location` | query | string | yes | Example: `Tokyo, Japan`. |

#### Quickstart

Look up the weather/news location for a city by passing its `location` as a query parameter.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/geo-coordinates?location=Tokyo%2C%20Japan" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with optional `city` as a string, `latitude` as a number, and `longitude` as a number.

```json
{
  "city": "Tokyo",
  "latitude": 35.6895,
  "longitude": 139.6917
}
```

### Search News

`GET https://api.eu.apyhub.com/skycraft/world-news-api/search-news` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `sort` | query | string | no | Example: `publish-time`. |
| `text` | query | string | no | Example: `tesla`. |
| `number` | query | integer (int32) | no | Example: `10`. |
| `offset` | query | integer (int32) | no | Example: `0`. |
| `authors` | query | string | no | Example: `John Doe`. |
| `entities` | query | string | no | Example: `ORG:Tesla,PER:Elon Musk`. |
| `language` | query | string | no | Example: `en`. |
| `categories` | query | string | no | Example: `politics,sports`. |
| `news-sources` | query | string | no | Example: `https://www.bbc.co.uk`. |
| `max-sentiment` | query | number (double) | no | Example: `0.8`. |
| `min-sentiment` | query | number (double) | no | Example: `-0.8`. |
| `sort-direction` | query | string | no | Example: `ASC`. |
| `source-country` | query | string | no | Example: `us`. |
| `location-filter` | query | string | no | Example: `51.050407, 13.737262, 20`. |
| `text-match-indexes` | query | string | no | Example: `title,content`. |
| `latest-publish-date` | query | string | no | Example: `2022-04-22 16:12:35`. |
| `earliest-publish-date` | query | string | no | Example: `2022-04-22 16:12:35`. |

#### Quickstart

Search for recent world news matching a keyword, using the required API token header and a query parameter.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/search-news?text=tesla&number=10" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with `news` as an array of news items, plus `number`, `offset`, and `available` as integers. Each item in `news` can include fields like `id`, `url`, `text`, `image`, `title`, `video`, `authors`, `summary`, `category`, `language`, `sentiment`, `publish_date`, and `source_country`.

```json
{
  "news": [
    {
      "id": 123,
      "url": "https://example.com/article",
      "title": "Tesla shares rise after earnings",
      "authors": ["John Doe"],
      "sentiment": 0.7,
      "publish_date": "2022-04-22 16:12:35"
    }
  ],
  "number": 10,
  "offset": 0,
  "available": 124
}
```

### Top News

`GET https://api.eu.apyhub.com/skycraft/world-news-api/top-news` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `date` | query | string | no | Example: `2024-05-30`. |
| `language` | query | string | yes | Example: `en`. |
| `headlines-only` | query | boolean | no | Example: `false`. |
| `source-country` | query | string | yes | Example: `us`. |

#### Quickstart

Fetch top news for a country and language using the required query parameters.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/top-news?source-country=us&language=en" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with `country` and `language` string fields, and `top_news`, an array of objects. Each `top_news` item contains a `news` array of article objects with fields like `id`, `url`, `text`, `image`, `title`, `author`, `authors`, `summary`, and `publish_date`.

```json
{
  "country": "us",
  "language": "en",
  "top_news": [
    {
      "news": [
        {
          "id": 123,
          "url": "https://example.com/story",
          "title": "Sample headline",
          "publish_date": "2024-05-30"
        }
      ]
    }
  ]
}
```

### Extract News Links

`GET https://api.eu.apyhub.com/skycraft/world-news-api/extract-news-links` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `url` | query | string | yes | Example: `https://www.bbc.com/news/world-us-canada-59340789`. |
| `analyze` | query | boolean | no | Example: `true`. |

#### Quickstart

Fetch news links for a source URL by passing the required `url` query parameter.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/extract-news-links?url=https%3A%2F%2Fwww.bbc.com%2Fnews%2Fworld-us-canada-59340789" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with a `news_links` array of strings, where each item is a news link URL or `null`.

```json
{
  "news_links": [
    "https://www.example.com/news/story-1",
    null
  ]
}
```

### News Website to RSS Feed

`GET https://api.eu.apyhub.com/skycraft/world-news-api/feed.rss` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `url` | query | string | yes | Example: `https://www.bbc.com/`. |
| `extract-news` | query | boolean | no | Example: `true`. |

#### Quickstart

Fetch news from a URL by passing the required `url` query parameter.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/feed.rss?url=https://www.bbc.com" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

```bash
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title><![CDATA[BBC Home - Breaking News, World News, US News, Sports, Business, Innovation, Climate, Culture, Travel, Video & Audio]]></title>
    <link>https://www.bbc.com/</link>
    <lastBuildDate>Thu, 24 Sep 2026 08:58:35 +0000</lastBuildDate>
    <item>
      <title><![CDATA[20260714 Nonnamaxxing Tourists Are Paying To Travel Like Grandmothers]]></title>
      <link>https://www.bbc.com/travel/article/20260714-nonnamaxxing-tourists</link>
    </item>
    ...
  </channel>
</rss>
```

### Retrieve Newspaper Front Page

`GET https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-front-page` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `date` | query | string | no | Example: `2024-07-09`. |
| `source-name` | query | string | no | Example: `herald-sun`. |
| `source-country` | query | string | no | Example: `au`. |

#### Quickstart

Fetch the front page news details for a given date, source name, and source country.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-front-page?date=2024-07-09&source-name=herald-sun&source-country=au" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with a `front_page` object. The `front_page` object contains nullable string fields for `date`, `name`, `image`, `country`, and `language`.

```json
{
  "front_page": {
    "date": "2024-07-09",
    "name": "Herald Sun",
    "image": "https://example.com/front-page.jpg",
    "country": "au",
    "language": "en"
  }
}
```

### Retrieve News Articles by Ids

`GET https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-news` · 20 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ids` | query | string | yes | Example: `2352,2354`. |

#### Quickstart

Fetch one or more news items by their comma-separated IDs.

```bash
curl -X GET "https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-news?ids=2352,2354" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with a `news` array. Each item in `news` is an object with fields such as `id`, `url`, `text`, `image`, `title`, `authors`, `summary`, `category`, `language`, `sentiment`, `publish_date`, and `source_country`.

```json
{
  "news": [
    {
      "id": 2352,
      "url": "https://example.com/news/2352",
      "text": "Article text here",
      "image": "https://example.com/image.jpg",
      "title": "Sample headline",
      "authors": ["Jane Doe"],
      "summary": "Short summary",
      "category": "world",
      "language": "en",
      "sentiment": 0.5,
      "publish_date": "2026-09-10T12:00:00Z",
      "source_country": "US"
    }
  ]
}
```

## About

## What it does
World News API lets you search, extract, and retrieve news data from URLs, article IDs, and source names. Send a news URL, a query, or a country/language filter, and get back article text, titles, authors, summaries, publish dates, sentiment, and related links where available.

Use it to build news monitoring, media intelligence, and content aggregation features. The Search News endpoint supports filters such as `text`, `authors`, `entities`, `language`, `categories`, `news-sources`, `source-country`, sentiment ranges, and publish-date bounds, with paging through `number` and `offset`. Top News returns current headlines for a required `source-country` and `language`, with an optional `date` and `headlines-only` flag.

If you already have an article identifier, Retrieve News Articles by Ids returns matching items in a `news` array. Extract News and Extract News Links work from a single article URL: one returns article content and metadata, while the other returns extracted links. Search News Sources helps you find outlets by name, and Retrieve Newspaper Front Page returns front-page metadata for a source and date.

World News API is a good fit when you need structured news records for dashboards, alerts, ranking, or downstream enrichment without scraping each publisher format yourself.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/skycraft/service/world-news-api
