apyhub
Back
▣ ARTIFICIAL INTELLIGENCE · DATA EXTRACTION

World News API

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.

▣ ENDPOINT 01 / 09
GET
Extract News
https://api.eu.apyhub.com/skycraft/world-news-api/extract-news

QUICKSTART

GUIDE

Quickstart

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

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.

{
  "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"
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Extracts structured information from a news article URL. It returns the article’s core metadata and content fields, and can also include arrays of related images, videos, and authors.

Query Parameter(s)

AttributeTypeDescription
urlStringThe news article URL to extract. Max length: 1000 characters.
analyzeBooleanWhether to perform additional analysis.

Response

Returns a JSON object containing article metadata and extracted content fields. The top-level fields are url, text, image, title, video, author, images, videos, authors, language, and publish_date.

ParameterTypeDescription
urlStringThe source URL extracted from the article, if available.
textStringThe article text, if available.
imageStringA primary image URL, if available.
titleStringThe article title, if available.
videoStringA primary video URL, if available.
authorStringThe primary author, if available.
imagesObject ArrayAn array of image objects, if available. Each item may contain url, title, width, and height.
images[].urlStringThe image URL, if available.
images[].titleStringThe image title, if available.
images[].widthIntegerThe image width, if available.
images[].heightIntegerThe image height, if available.
videosObject ArrayAn array of video objects, if available. Each item may contain url, title, summary, duration, and thumbnail.
videos[].urlStringThe video URL, if available.
videos[].titleStringThe video title, if available.
videos[].summaryStringA video summary, if available.
videos[].durationIntegerThe video duration, if available.
videos[].thumbnailStringA thumbnail URL, if available.
authorsString ArrayAn array of author names, if available.
languageStringThe detected language, if available.
publish_dateStringThe publish date, if available.
▣ ENDPOINT 02 / 09
GET
Search News Sources
https://api.eu.apyhub.com/skycraft/world-news-api/search-news-sources

QUICKSTART

GUIDE

Quickstart

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

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.

{
  "sources": [
    {
      "url": "https://www.bbc.com/news",
      "name": "BBC News",
      "language": "en"
    }
  ],
  "available": 1
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Searches for news sources matching a provided name and returns a JSON object containing matching sources plus an available count.

Query Parameter(s)

AttributeTypeDescription
nameStringSearch term for the news source name. Max length: 1000 characters.

Response

Returns a JSON object with two top-level fields: sources is an array of source objects, and available is an integer count. Each source object may include url, name, and language string fields, all of which can be nullable.

ParameterTypeDescription
sourcesObject ArrayArray of matching news source objects. Each item may include:
url (String, nullable)
name (String, nullable)
language (String, nullable)
availableIntegerNumber of available matching sources.
▣ ENDPOINT 03 / 09
GET
Get Geo Coordinates
https://api.eu.apyhub.com/skycraft/world-news-api/geo-coordinates

QUICKSTART

GUIDE

Quickstart

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

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.

{
  "city": "Tokyo",
  "latitude": 35.6895,
  "longitude": 139.6917
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Resolves a geographic location string into coordinates. The response returns the matching city name, latitude, and longitude.

Query Parameter(s)

AttributeTypeDescription
locationStringThe location to geocode. String, max length 1000.

Response

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

AttributeTypeDescription
cityStringThe resolved city name, or null if not available.
latitudeNumberThe resolved latitude.
longitudeNumberThe resolved longitude.
▣ ENDPOINT 04 / 09
GET
Search News
https://api.eu.apyhub.com/skycraft/world-news-api/search-news

QUICKSTART

GUIDE

Quickstart

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

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.

{
  "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
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Searches for news articles using the provided query parameters and returns a paginated result set. The response includes matching news items plus pagination-related counts.

Query Parameter(s)

AttributeTypeDescription
sortStringSort key. Example: publish-time. Max length: 100.
textStringText to search for. Example: tesla. Max length: 100.
numberIntegerNumber of items to return. Integer int32. Minimum: 1, maximum: 100.
offsetIntegerResult offset for pagination. Integer int32. Minimum: 0, maximum: 10000.
authorsStringFilter by authors. Example: John Doe. Max length: 300.
entitiesStringFilter by entities. Example: ORG:Tesla,PER:Elon Musk. Max length: 10000.
languageStringFilter by language. Example: en. Max length: 2.
categoriesStringFilter by categories. Example: politics,sports. Max length: 300.
news-sourcesStringFilter by news source URLs. Example: https://www.bbc.co.uk. Max length: 10000.
max-sentimentNumberMaximum sentiment score. Double. Minimum: -1, maximum: 1.
min-sentimentNumberMinimum sentiment score. Double. Minimum: -1, maximum: 1.
sort-directionStringSort direction. Example: ASC. Max length: 4.
source-countryStringFilter by source country. Example: us. Max length: 2.
location-filterStringLocation filter. Example: 51.050407, 13.737262, 20. Max length: 100.
text-match-indexesStringFields to search in. Example: title,content. Max length: 100.
latest-publish-dateStringLatest publish date. Example: 2022-04-22 16:12:35. Max length: 19.
earliest-publish-dateStringEarliest publish date. Example: 2022-04-22 16:12:35. Max length: 19.

Response

Returns a JSON object with news as an array of news objects, and integer number, offset, and available fields. Each news item includes id, url, text, image, title, video, authors, summary, category, language, sentiment, publish_date, and source_country.

ParameterTypeDescription
newsObject ArrayArray of news results. Each item contains id (integer), url (string, nullable), text (string, nullable), image (string, nullable), title (string, nullable), video (string, nullable), authors (string array of nullable strings), summary (string, nullable), category (string, nullable), language (string, nullable), sentiment (number), publish_date (string, nullable), and source_country (string, nullable).
numberIntegerNumber of results returned.
offsetIntegerOffset of the returned results.
availableIntegerTotal number of available matching results.
▣ ENDPOINT 05 / 09
GET
Top News
https://api.eu.apyhub.com/skycraft/world-news-api/top-news

QUICKSTART

GUIDE

Quickstart

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

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.

{
  "country": "us",
  "language": "en",
  "top_news": [
    {
      "news": [
        {
          "id": 123,
          "url": "https://example.com/story",
          "title": "Sample headline",
          "publish_date": "2024-05-30"
        }
      ]
    }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Returns the top news for the requested source country and language, with an optional date filter. The response is a JSON object that includes the country, language, and a top_news array of news-group objects.

Query Parameter(s)

AttributeTypeDescription
dateStringDate filter. Format: YYYY-MM-DD (max length: 10).
languageStringLanguage code. Max length: 2.
headlines-onlyBooleanWhen true, returns headlines only.
source-countryStringSource country code. Max length: 2.

Response

Returns a JSON object with nullable country and language string fields, plus a top_news array. Each item in top_news is an object containing a news array of news objects.

AttributeTypeDescription
countryStringCountry code associated with the response. Nullable.
languageStringLanguage code associated with the response. Nullable.
top_newsObject ArrayArray of top-news group objects.
top_news[].newsObject ArrayArray of news objects.
top_news[].news[].idIntegerNews item identifier.
top_news[].news[].urlStringNews item URL. Nullable.
top_news[].news[].textStringNews text. Nullable.
top_news[].news[].imageStringNews image URL. Nullable.
top_news[].news[].titleStringNews title. Nullable.
top_news[].news[].authorStringNews author. Nullable.
top_news[].news[].authorsString ArrayList of authors. Items are nullable strings.
top_news[].news[].summaryStringNews summary. Nullable.
top_news[].news[].publish_dateStringNews publish date. Nullable.
▣ ENDPOINT 07 / 09
GET
News Website to RSS Feed
https://api.eu.apyhub.com/skycraft/world-news-api/feed.rss

QUICKSTART

GUIDE

Quickstart

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

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

<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>
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Converts a news website URL into an RSS feed representation. It accepts the website URL as a query parameter and optionally an extract-news flag.

Query Parameter(s)

AttributeTypeDescription
urlStringThe news website URL to convert. Maximum length: 1000 characters.
extract-newsBooleanOptional boolean flag.

Response

Returns an RSS 2.0 XML feed built from the target website's news content — not a JSON object.

▣ ENDPOINT 08 / 09
GET
Retrieve Newspaper Front Page
https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-front-page

QUICKSTART

GUIDE

Quickstart

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

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.

{
  "front_page": {
    "date": "2024-07-09",
    "name": "Herald Sun",
    "image": "https://example.com/front-page.jpg",
    "country": "au",
    "language": "en"
  }
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves a newspaper front page for the specified query criteria and returns it in a JSON object under front_page. The response includes front page metadata such as date, name, image, country, and language when available.

Query Parameter(s)

AttributeTypeDescription
dateStringDate filter in YYYY-MM-DD format. Max length: 10.
source-nameStringNewspaper source name. Max length: 100.
source-countryStringSource country code. Max length: 2.

Response

Returns a JSON object with a front_page object field. The front_page object contains optional string fields: date, name, image, country, and language.

ParameterTypeDescription
front_pageObjectFront page metadata object.
front_page.dateStringFront page date, if present.
front_page.nameStringNewspaper name, if present.
front_page.imageStringFront page image URL or reference string, if present.
front_page.countryStringCountry code, if present.
front_page.languageStringLanguage code, if present.
▣ ENDPOINT 09 / 09
GET
Retrieve News Articles by Ids
https://api.eu.apyhub.com/skycraft/world-news-api/retrieve-news

QUICKSTART

GUIDE

Quickstart

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

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.

{
  "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"
    }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves one or more news articles by their IDs and returns them in a JSON object under news.

Query Parameter(s)

AttributeTypeDescription
idsStringComma-separated list of news article IDs. Maximum length: 10000 characters.

Response

Returns a JSON object with a news array field. Each item in the array is an object representing a news article with the fields defined below.

ParameterTypeDescription
newsObject ArrayList of news articles returned for the requested IDs.
news[].idIntegerNews article ID.
news[].urlStringArticle URL. Nullable.
news[].textStringArticle text. Nullable.
news[].imageStringArticle image URL. Nullable.
news[].titleStringArticle title. Nullable.
news[].authorsString ArrayArticle authors. Array items are nullable strings.
news[].summaryStringArticle summary. Nullable.
news[].categoryStringArticle category. Nullable.
news[].languageStringArticle language. Nullable.
news[].sentimentNumberArticle sentiment score.
news[].publish_dateStringArticle publish date. Nullable.
news[].source_countryStringArticle source country. Nullable.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.