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)

AttributeTypeMandatoryDescription
urlStringYesThe news article URL to extract. Max length: 1000 characters.
analyzeBooleanNoWhether 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.

ParameterTypeMandatoryDescription
urlStringNoThe source URL extracted from the article, if available.
textStringNoThe article text, if available.
imageStringNoA primary image URL, if available.
titleStringNoThe article title, if available.
videoStringNoA primary video URL, if available.
authorStringNoThe primary author, if available.
imagesObject ArrayNoAn array of image objects, if available. Each item may contain url, title, width, and height.
images[].urlStringNoThe image URL, if available.
images[].titleStringNoThe image title, if available.
images[].widthIntegerNoThe image width, if available.
images[].heightIntegerNoThe image height, if available.
videosObject ArrayNoAn array of video objects, if available. Each item may contain url, title, summary, duration, and thumbnail.
videos[].urlStringNoThe video URL, if available.
videos[].titleStringNoThe video title, if available.
videos[].summaryStringNoA video summary, if available.
videos[].durationIntegerNoThe video duration, if available.
videos[].thumbnailStringNoA thumbnail URL, if available.
authorsString ArrayNoAn array of author names, if available.
languageStringNoThe detected language, if available.
publish_dateStringNoThe 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)

AttributeTypeMandatoryDescription
nameStringYesSearch 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.

ParameterTypeMandatoryDescription
sourcesObject ArrayNoArray of matching news source objects. Each item may include:
url (String, nullable)
name (String, nullable)
language (String, nullable)
availableIntegerNoNumber 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)

AttributeTypeMandatoryDescription
locationStringYesThe 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.

AttributeTypeMandatoryDescription
cityStringNoThe resolved city name, or null if not available.
latitudeNumberNoThe resolved latitude.
longitudeNumberNoThe 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)

AttributeTypeMandatoryDescription
sortStringNoSort key. Example: publish-time. Max length: 100.
textStringNoText to search for. Example: tesla. Max length: 100.
numberIntegerNoNumber of items to return. Integer int32. Minimum: 1, maximum: 100.
offsetIntegerNoResult offset for pagination. Integer int32. Minimum: 0, maximum: 10000.
authorsStringNoFilter by authors. Example: John Doe. Max length: 300.
entitiesStringNoFilter by entities. Example: ORG:Tesla,PER:Elon Musk. Max length: 10000.
languageStringNoFilter by language. Example: en. Max length: 2.
categoriesStringNoFilter by categories. Example: politics,sports. Max length: 300.
news-sourcesStringNoFilter by news source URLs. Example: https://www.bbc.co.uk. Max length: 10000.
max-sentimentNumberNoMaximum sentiment score. Double. Minimum: -1, maximum: 1.
min-sentimentNumberNoMinimum sentiment score. Double. Minimum: -1, maximum: 1.
sort-directionStringNoSort direction. Example: ASC. Max length: 4.
source-countryStringNoFilter by source country. Example: us. Max length: 2.
location-filterStringNoLocation filter. Example: 51.050407, 13.737262, 20. Max length: 100.
text-match-indexesStringNoFields to search in. Example: title,content. Max length: 100.
latest-publish-dateStringNoLatest publish date. Example: 2022-04-22 16:12:35. Max length: 19.
earliest-publish-dateStringNoEarliest 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.

ParameterTypeMandatoryDescription
newsObject ArrayNoArray 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).
numberIntegerNoNumber of results returned.
offsetIntegerNoOffset of the returned results.
availableIntegerNoTotal 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)

AttributeTypeMandatoryDescription
dateStringNoDate filter. Format: YYYY-MM-DD (max length: 10).
languageStringYesLanguage code. Max length: 2.
headlines-onlyBooleanNoWhen true, returns headlines only.
source-countryStringYesSource 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.

AttributeTypeMandatoryDescription
countryStringNoCountry code associated with the response. Nullable.
languageStringNoLanguage code associated with the response. Nullable.
top_newsObject ArrayNoArray of top-news group objects.
top_news[].newsObject ArrayNoArray of news objects.
top_news[].news[].idIntegerNoNews item identifier.
top_news[].news[].urlStringNoNews item URL. Nullable.
top_news[].news[].textStringNoNews text. Nullable.
top_news[].news[].imageStringNoNews image URL. Nullable.
top_news[].news[].titleStringNoNews title. Nullable.
top_news[].news[].authorStringNoNews author. Nullable.
top_news[].news[].authorsString ArrayNoList of authors. Items are nullable strings.
top_news[].news[].summaryStringNoNews summary. Nullable.
top_news[].news[].publish_dateStringNoNews 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)

AttributeTypeMandatoryDescription
urlStringYesThe news website URL to convert. Maximum length: 1000 characters.
extract-newsBooleanNoOptional 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)

AttributeTypeMandatoryDescription
dateStringNoDate filter in YYYY-MM-DD format. Max length: 10.
source-nameStringNoNewspaper source name. Max length: 100.
source-countryStringNoSource 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.

ParameterTypeMandatoryDescription
front_pageObjectNoFront page metadata object.
front_page.dateStringNoFront page date, if present.
front_page.nameStringNoNewspaper name, if present.
front_page.imageStringNoFront page image URL or reference string, if present.
front_page.countryStringNoCountry code, if present.
front_page.languageStringNoLanguage 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)

AttributeTypeMandatoryDescription
idsStringYesComma-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.

ParameterTypeMandatoryDescription
newsObject ArrayNoList of news articles returned for the requested IDs.
news[].idIntegerNoNews article ID.
news[].urlStringNoArticle URL. Nullable.
news[].textStringNoArticle text. Nullable.
news[].imageStringNoArticle image URL. Nullable.
news[].titleStringNoArticle title. Nullable.
news[].authorsString ArrayNoArticle authors. Array items are nullable strings.
news[].summaryStringNoArticle summary. Nullable.
news[].categoryStringNoArticle category. Nullable.
news[].languageStringNoArticle language. Nullable.
news[].sentimentNumberNoArticle sentiment score.
news[].publish_dateStringNoArticle publish date. Nullable.
news[].source_countryStringNoArticle 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.