GET /news/topic
Get news from predefined topic categories. Supports 11 canonical topics with automatic translation into 40+ languages. You can combine two topics in a single request.
Request
URL
GET /news/topic
Headers
| Header | Value | Required |
|---|---|---|
x-rapidapi-key | Your RapidAPI API key | Yes |
x-rapidapi-host | fast-news-with-previews.p.rapidapi.com | Yes |
Query Parameters
| Parameter | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|
topic1 | string | Yes | -- | See accepted values | Primary topic category |
topic2 | string | No | -- | See accepted values | Secondary topic category (combined with topic1) |
quantity | integer | No | 20 | 1-100 | Maximum number of articles to return |
language | string | No | en | 2-5 characters | Language code for translated topic names |
geo | string | No | -- | 2-5 characters | Country/region code for localized results |
timeframe | string | No | anytime | See values below | Time filter for article recency |
Accepted topic1 / topic2 values:
| Value | Description | Example translations |
|---|---|---|
world | International news | es: "mundo", de: "welt", fr: "monde", ja: "world" |
national | Domestic news | es: "nacional", de: "national", zh: "domestic" |
business | Business and finance | es: "negocios", de: "wirtschaft", ja: "business" |
technology | Tech industry | es: "tecnologia", de: "technologie", zh: "tech" |
entertainment | Entertainment and culture | es: "entretenimiento", de: "unterhaltung" |
sports | Sports news | es: "deportes", de: "sport", ja: "sports" |
science | Scientific research | es: "ciencia", de: "wissenschaft", ja: "science" |
health | Health and medicine | es: "salud", de: "gesundheit", ja: "health" |
politics | Political news | es: "politica", de: "politik", ja: "politics" |
economy | Economic news | es: "economia", de: "wirtschaft", ja: "economy" |
environment | Environmental news | es: "medio ambiente", de: "umwelt", ja: "environment" |
Accepted timeframe values: last_1h, last_24h, last_48h, last_7d, last_30d, anytime
Example Requests
# Single topic in English
curl -X GET "https://fast-news-with-previews.p.rapidapi.com/news/topic?topic1=technology&language=en" \
-H "x-rapidapi-key: YOUR_RAPIDAPI_KEY" \
-H "x-rapidapi-host: fast-news-with-previews.p.rapidapi.com"
# Two topics combined
curl -X GET "https://fast-news-with-previews.p.rapidapi.com/news/topic?topic1=technology&topic2=business&language=en" \
-H "x-rapidapi-key: YOUR_RAPIDAPI_KEY" \
-H "x-rapidapi-host: fast-news-with-previews.p.rapidapi.com"
# Topic in German
curl -X GET "https://fast-news-with-previews.p.rapidapi.com/news/topic?topic1=sports&language=de&quantity=15" \
-H "x-rapidapi-key: YOUR_RAPIDAPI_KEY" \
-H "x-rapidapi-host: fast-news-with-previews.p.rapidapi.com"
# With timeframe
curl -X GET "https://fast-news-with-previews.p.rapidapi.com/news/topic?topic1=politics&language=en&timeframe=last_7d" \
-H "x-rapidapi-key: YOUR_RAPIDAPI_KEY" \
-H "x-rapidapi-host: fast-news-with-previews.p.rapidapi.com"
Response
200 OK
{
"topic": "",
"geo": "all",
"language": "en",
"count": 20,
"items": [
{
"title": "Made-up article about technology",
"source": "example-news.com",
"published_at": "2026-04-16T08:00:00Z",
"url": "https://example-news.com/articles/tech-topic",
"image_url": "https://cdn.example-news.com/thumb.jpg",
"preview": "Bla bla bla this is a sample preview of what a topic-based article excerpt looks like..."
}
]
}
| Field | Type | Description |
|---|---|---|
topic | string | Always empty for topic-based requests |
geo | string | Geographic filter applied |
language | string | Language used for the search |
count | integer | Number of articles returned |
items | array | Array of article objects (same structure as /news) |
Error Responses
400 Bad Request — invalid topic
{
"detail": "Key: 'TopicRequest.Topic1' Error:Field validation for 'Topic1' failed on the 'oneof' tag"
}
400 Bad Request — missing topic1
{
"detail": "Key: 'TopicRequest.Topic1' Error:Field validation for 'Topic1' failed on the 'required' tag"
}
Notes
- When
topic2is provided, both topic queries are combined with a space as a single search (e.g.,topic1=technology+topic2=businesssearches for "technology business"). - Topic names are automatically translated to the specified language. For example,
topic1=worldwithlanguage=essearches for "mundo" instead of "world". - The default
quantityis 20 (higher than the defaultlimitof 10 on /news). - The
topicfield in the response is always empty since topics are predefined categories, not user-specified search terms. - See the news endpoint documentation for article object field descriptions.