openapi: 3.1.0
info:
title: Event Registry (NewsAPI.ai) Articles Suggest API
description: 'Event Registry (NewsAPI.ai) is the world''s leading news intelligence platform providing a REST API for accessing global news articles, trending topics, event detection, named entities, sentiment analysis, and media monitoring across 150,000+ sources in 60+ languages, with historical archive access dating back to 2014. All requests are POST with JSON bodies and require an apiKey field.
'
version: 1.0.0
contact:
name: Event Registry Support
email: info@eventregistry.org
url: https://newsapi.ai
termsOfService: https://newsapi.ai/terms
license:
name: Proprietary
url: https://newsapi.ai/plans
servers:
- url: https://eventregistry.org/api/v1
description: Production API server
security:
- apiKeyAuth: []
tags:
- name: Suggest
description: Resolve entity names to URIs for use in search filters.
paths:
/suggestConceptsFast:
post:
operationId: suggestConcepts
summary: Suggest concept URIs by name prefix
description: 'Look up concept URIs (people, organizations, locations, things) by name prefix. Always resolve entity names to URIs using this endpoint before passing them to conceptUri filters in search operations.
'
tags:
- Suggest
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiKeyParam'
properties:
prefix:
type: string
description: Short name prefix to search for (1-3 words). Performs prefix matching.
lang:
type: string
description: Language for label display and matching. Default "eng".
conceptType:
type: string
description: Filter by concept type — "person", "org", "loc", "wiki".
required:
- prefix
example:
apiKey: YOUR_API_KEY
prefix: Tesla
lang: eng
responses:
'200':
description: List of matching concept suggestions with URIs.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SuggestResult'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/suggestCategoriesFast:
post:
operationId: suggestCategories
summary: Suggest category URIs by name prefix
description: 'Look up news topic category URIs (business, tech, sports, etc.) by name prefix. Use returned URIs in categoryUri filters.
'
tags:
- Suggest
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiKeyParam'
properties:
prefix:
type: string
description: Short category name prefix to search for.
lang:
type: string
description: Language for label display. Default "eng".
required:
- prefix
example:
apiKey: YOUR_API_KEY
prefix: Business
responses:
'200':
description: List of matching category suggestions with URIs.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SuggestResult'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/suggestSourcesFast:
post:
operationId: suggestSources
summary: Suggest news source URIs by name prefix
description: 'Look up news source URIs (e.g., Reuters, BBC) by name prefix. Use returned URIs in sourceUri filters.
'
tags:
- Suggest
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiKeyParam'
properties:
prefix:
type: string
description: Short source name prefix to search for.
lang:
type: string
description: Language for matching. Default "eng".
required:
- prefix
example:
apiKey: YOUR_API_KEY
prefix: Reuters
responses:
'200':
description: List of matching source suggestions with URIs.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SuggestResult'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/suggestLocationsFast:
post:
operationId: suggestLocations
summary: Suggest location URIs by name prefix
description: 'Look up location URIs (countries, cities, regions) by name prefix. Use returned URIs in locationUri or sourceLocationUri filters. Always use English location names.
'
tags:
- Suggest
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiKeyParam'
properties:
prefix:
type: string
description: Short location name prefix in English.
lang:
type: string
description: Language for label display. Default "eng".
required:
- prefix
example:
apiKey: YOUR_API_KEY
prefix: Germany
responses:
'200':
description: List of matching location suggestions with URIs.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SuggestResult'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/suggestAuthorsFast:
post:
operationId: suggestAuthors
summary: Suggest author URIs by name prefix
description: 'Look up journalist/author URIs by name prefix. Use returned URIs in authorUri filters.
'
tags:
- Suggest
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiKeyParam'
properties:
prefix:
type: string
description: Short author name prefix to search for.
lang:
type: string
description: Language for matching. Default "eng".
required:
- prefix
example:
apiKey: YOUR_API_KEY
prefix: John Smith
responses:
'200':
description: List of matching author suggestions with URIs.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SuggestResult'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
message:
type: string
ApiKeyParam:
type: object
required:
- apiKey
properties:
apiKey:
type: string
description: Your NewsAPI.ai API key.
SuggestResult:
type: object
properties:
uri:
type: string
description: Unique URI for the entity, for use in search filters.
label:
type: object
additionalProperties:
type: string
description: Display label keyed by language code.
type:
type: string
description: Entity type (concept, source, location, category, author).
securitySchemes:
apiKeyAuth:
type: apiKey
in: query
name: apiKey
description: 'API key obtained from newsapi.ai/register. Include as a field in the JSON POST body or as a query parameter named apiKey.
'
externalDocs:
description: Official API Documentation
url: https://newsapi.ai/documentation