Event Registry Topic Pages API

Retrieve content matching user-defined topic page configurations.

OpenAPI Specification

event-registry-topic-pages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Event Registry (NewsAPI.ai) Articles Topic Pages 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: Topic Pages
  description: Retrieve content matching user-defined topic page configurations.
paths:
  /article/getArticlesForTopicPage:
    post:
      operationId: getTopicPageArticles
      summary: Get articles for a topic page
      description: 'Returns articles matching a user-created topic page (pre-configured search profile). Topic pages are created and managed on the newsapi.ai website.

        '
      tags:
      - Topic Pages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiKeyParam'
              properties:
                uri:
                  type: string
                  description: Topic page URI.
                articlesPage:
                  type: integer
                  description: Page number (starting from 1). Default 1.
                articlesCount:
                  type: integer
                  maximum: 100
                  description: Articles per page (max 100). Default 100.
                articleBodyLen:
                  type: integer
                  description: Article body length in characters. Default 1000.
              required:
              - uri
      responses:
        '200':
          description: Articles matching the topic page.
          content:
            application/json:
              schema:
                type: object
                properties:
                  articles:
                    type: object
                    properties:
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/Article'
                      totalResults:
                        type: integer
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /event/getEventsForTopicPage:
    post:
      operationId: getTopicPageEvents
      summary: Get events for a topic page
      description: 'Returns events matching a user-created topic page (pre-configured search profile).

        '
      tags:
      - Topic Pages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiKeyParam'
              properties:
                uri:
                  type: string
                  description: Topic page URI.
                eventsPage:
                  type: integer
                  description: Page number (starting from 1). Default 1.
                eventsCount:
                  type: integer
                  maximum: 50
                  description: Events per page (max 50). Default 50.
              required:
              - uri
      responses:
        '200':
          description: Events matching the topic page.
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    type: object
                    properties:
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/Event'
                      totalResults:
                        type: integer
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Category:
      type: object
      properties:
        uri:
          type: string
        label:
          type: string
        wgt:
          type: integer
    Location:
      type: object
      properties:
        uri:
          type: string
        label:
          type: object
          additionalProperties:
            type: string
        type:
          type: string
        lat:
          type: number
        long:
          type: number
    Concept:
      type: object
      properties:
        uri:
          type: string
        label:
          type: object
          additionalProperties:
            type: string
        type:
          type: string
          enum:
          - person
          - org
          - loc
          - wiki
        score:
          type: number
    Article:
      type: object
      properties:
        uri:
          type: string
          description: Unique article identifier.
        title:
          type: string
        body:
          type: string
          description: Article body text (length controlled by articleBodyLen).
        url:
          type: string
          format: uri
          description: Original article URL.
        date:
          type: string
          format: date
        time:
          type: string
        dateTime:
          type: string
          format: date-time
        lang:
          type: string
          description: ISO language code.
        source:
          $ref: '#/components/schemas/Source'
        sentiment:
          type: number
          minimum: -1
          maximum: 1
          description: Sentiment score (-1 very negative, +1 very positive).
        concepts:
          type: array
          items:
            $ref: '#/components/schemas/Concept'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
        authors:
          type: array
          items:
            $ref: '#/components/schemas/Author'
        eventUri:
          type: string
          description: URI of the event this article belongs to.
        isDuplicate:
          type: boolean
    Event:
      type: object
      properties:
        uri:
          type: string
          description: Unique event identifier.
        title:
          type: object
          additionalProperties:
            type: string
          description: Event title keyed by language code.
        summary:
          type: object
          additionalProperties:
            type: string
          description: Event summary keyed by language code.
        articleCount:
          type: integer
          description: Number of articles grouped in this event.
        date:
          type: string
          format: date
        concepts:
          type: array
          items:
            $ref: '#/components/schemas/Concept'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
        sentiment:
          type: number
          minimum: -1
          maximum: 1
        location:
          $ref: '#/components/schemas/Location'
    Source:
      type: object
      properties:
        uri:
          type: string
        title:
          type: string
        url:
          type: string
          format: uri
        ranking:
          type: object
          properties:
            importanceRank:
              type: integer
            alexaGlobalRank:
              type: integer
            alexaCountryRank:
              type: integer
    ApiKeyParam:
      type: object
      required:
      - apiKey
      properties:
        apiKey:
          type: string
          description: Your NewsAPI.ai API key.
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
    Author:
      type: object
      properties:
        uri:
          type: string
        name:
          type: string
        isAgency:
          type: boolean
  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