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