Nordic Financial News Search API

The Search API from Nordic Financial News — 1 operation(s) for search.

Operations 1

GET /api/v1/search Search #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nordic-financial-news:nordic-financial-news-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nordic-financial-news-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nordic Financial News Search API
  version: v1.0
  contact:
    name: API Support
    email: hello@nordicfinancialnews.com
  description: 'Operations tagged Search across 2 of this provider''s published API definitions: nordic-financial-news-openapi-original.yml, nordic-financial-news-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://nordicfinancialnews.com
  description: Production server
tags:
- name: Search
paths:
  /api/v1/search:
    get:
      summary: Search
      tags:
      - Search
      security:
      - bearer_auth: []
      description: Search across articles, stories, companies, countries, exchanges, and indices. Results are grouped by resource type and ranked by relevance. Use `type` to limit which resource types are searched.
      parameters:
      - name: q
        in: query
        required: true
        description: Full-text search query (2-200 characters).
        example: Volvo
        schema:
          type: string
      - name: type
        in: query
        required: false
        description: 'Comma-separated list of resource types to search. Defaults to all types. Valid values: `articles`, `stories`, `companies`, `countries`, `exchanges`, `indices`.'
        example: articles,companies
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Maximum number of results per resource type (default 5, max 25).
        example: 5
        schema:
          type: integer
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResult'
        '400':
          description: Invalid search query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/problem_details'
        '401':
          description: Unauthorized
          content:
            application/json:
              examples:
                unauthorized:
                  value:
                    type: https://docs.nordicfinancialnews.com/problems/auth-invalid
                    title: Unauthorized
                    status: 401
                    detail: Missing or invalid API key
                    instance: urn:request:abc123
              schema:
                $ref: '#/components/schemas/problem_details'
      operationId: getApiV1Search
      x-operation-id-source: derived
    servers:
    - url: https://nordicfinancialnews.com
      description: Production server
components:
  schemas:
    SearchResult:
      type: object
      required:
      - results
      - pagination
      properties:
        results:
          type: object
          properties:
            articles:
              type: array
              items:
                $ref: '#/components/schemas/ArticleSummary'
            stories:
              type: array
              items:
                $ref: '#/components/schemas/StorySummary'
            companies:
              type: array
              items:
                $ref: '#/components/schemas/CompanySummary'
            countries:
              type: array
              items:
                $ref: '#/components/schemas/CountrySummary'
            exchanges:
              type: array
              items:
                $ref: '#/components/schemas/ExchangeSummary'
            indices:
              type: array
              items:
                $ref: '#/components/schemas/IndexSummary'
        pagination:
          type: object
          properties:
            articles:
              type: object
              properties:
                count:
                  type: integer
                limit:
                  type: integer
            stories:
              type: object
              properties:
                count:
                  type: integer
                limit:
                  type: integer
            companies:
              type: object
              properties:
                count:
                  type: integer
                limit:
                  type: integer
            countries:
              type: object
              properties:
                count:
                  type: integer
                limit:
                  type: integer
            exchanges:
              type: object
              properties:
                count:
                  type: integer
                limit:
                  type: integer
            indices:
              type: object
              properties:
                count:
                  type: integer
                limit:
                  type: integer
    ArticleSummary:
      type: object
      required:
      - id
      - title
      - published_at
      - updated_at
      - article_url
      - content_type
      - category
      - source
      - company_ids
      - country
      properties:
        id:
          type: string
          description: Unique article identifier
          example: art_abc123def
        title:
          type: string
          description: Article title in English. Machine-translated when the source article is not in English.
          example: Volvo Reports Record Q3 Earnings
        article_url:
          type: string
          description: Link to the original article
          example: https://di.se/articles/volvo-q3-2026
        content_type:
          type: string
          description: Type of article content
          example: news
          enum:
          - news
          - analysis
          - press_release
          - market_commentary
          - market_news
          - trading_halt
          - trading_event
          - other
        published_at:
          type: string
          format: date-time
          description: When the article was published by its source (ISO 8601). This is editorial time, not the time the article reached this API. Use it to filter by when news happened, never to track what is new to you.
          example: '2026-03-15T09:30:00.000Z'
        updated_at:
          type: string
          format: date-time
          description: 'When this record last changed (ISO 8601). This is the clock incremental sync runs on. It only ever moves forward, unlike published_at. To sync: pass your last completed sync time as `updated_after`, drain every page via `pagination.next_cursor`, and only then advance your stored timestamp.'
          example: '2026-03-15T09:35:00.000Z'
        category:
          type: object
          description: Article category
          properties:
            id:
              type: string
              example: cat_earnings1
            name:
              type: string
              example: Earnings & Financial Results
        source:
          type: object
          description: The news source that published this article
          properties:
            id:
              type: string
              description: Unique source identifier
              example: abc123def456
            name:
              type: string
              example: Dagens Industri
            domain:
              type: string
              example: di.se
            source_type:
              type: string
              example: news_publication
              enum:
              - news_publication
              - wire_service
              - press_release
              - government
              - trade_publication
              - blog
              - stock_exchange
              - research
        company_ids:
          type: array
          items:
            type: string
          description: IDs of companies mentioned in the article
          example:
          - uejazctgchj4
        country:
          type:
          - string
          - 'null'
          description: Country code (ISO 3166-1 alpha-2)
          example: SE
        event_id:
          type:
          - string
          - 'null'
          description: ID of the event this article belongs to. Null when the article has not been assigned to an event yet. An event that has since been merged or removed still answers `GET /events/{id}` with a tombstone rather than a 404.
          example: 8fzq2rmtnk5c
    CountrySummary:
      type: object
      required:
      - id
      - name
      - iso2_code
      properties:
        id:
          type: string
          description: Unique country identifier
          example: ctry_sweden12
        name:
          type: string
          description: Country display name
          example: Sweden
        iso2_code:
          type: string
          description: ISO 3166-1 alpha-2 country code
          example: SE
    problem_details:
      type: object
      required:
      - type
      - title
      - status
      - detail
      - instance
      properties:
        type:
          type: string
          description: URI that identifies the problem type
        title:
          type: string
          description: Short human-readable summary
        status:
          type: integer
          description: HTTP status code
        detail:
          type: string
          description: Human-readable explanation
        instance:
          type: string
          description: URI that identifies the specific occurrence
    IndexSummary:
      type: object
      required:
      - id
      - name
      - symbol
      properties:
        id:
          type: string
          description: Unique stock index identifier
          example: idx_omxs30abc
        name:
          type: string
          description: Index display name
          example: OMX Stockholm 30
        symbol:
          type: string
          description: Index symbol
          example: OMXS30
        pan_nordic:
          type: boolean
          description: True if the index spans multiple Nordic exchanges (e.g. OMXN40), false if tied to a single exchange (e.g. OMXS30)
          example: false
        exchange:
          type:
          - object
          - 'null'
          description: Exchange associated with this index
          properties:
            id:
              type: string
            name:
              type: string
            mic_code:
              type: string
    ExchangeSummary:
      type: object
      required:
      - id
      - name
      - mic_code
      properties:
        id:
          type: string
          description: Unique exchange identifier
          example: exch_nasdaq1
        name:
          type: string
          description: Exchange display name
          example: Nasdaq Stockholm
        mic_code:
          type: string
          description: ISO 10383 Market Identifier Code
          example: XSTO
        acronym:
          type:
          - string
          - 'null'
          description: Exchange acronym
          example: NASDAQ
        country:
          type: object
          description: Country where the exchange is located
          properties:
            id:
              type: string
            name:
              type: string
            iso2_code:
              type: string
    StorySummary:
      type: object
      required:
      - id
      - title
      - summary
      - article_count
      - published_at
      - updated_at
      properties:
        id:
          type: string
          description: Unique story identifier
          example: story_volvo_q3
        title:
          type: string
          description: Story title
          example: Volvo Reports Record Q3 Results
        summary:
          type: string
          description: Story summary
          example: Volvo reported record third-quarter earnings, beating analyst expectations...
        article_count:
          type: integer
          description: Number of articles in this story (matches the length of article_ids)
          example: 4
        published_at:
          type: string
          format: date-time
          description: 'When the story''s newest source article was published (ISO 8601). This is editorial time, not the time the story reached this API: a story about older news carries an older date. Use it to filter by when news happened, never to track what is new to you.'
          example: '2026-03-15T09:30:00.000Z'
        updated_at:
          type: string
          format: date-time
          description: 'When this record last changed (ISO 8601). This is the clock incremental sync runs on. It only ever moves forward, unlike published_at. To sync: pass your last completed sync time as `updated_after`, drain every page via `pagination.next_cursor`, and only then advance your stored timestamp.'
          example: '2026-03-15T09:35:00.000Z'
        article_ids:
          type: array
          items:
            type: string
          description: IDs of articles in this story, most relevant first
          example:
          - art_abc123def
          - art_def456ghi
        country:
          type:
          - string
          - 'null'
          description: Country code (ISO 3166-1 alpha-2)
          example: SE
        company_ids:
          type: array
          items:
            type: string
          description: IDs of companies mentioned in this story
          example:
          - uejazctgchj4
        category:
          type: object
          description: Story category
          properties:
            id:
              type: string
            name:
              type: string
        event_id:
          type:
          - string
          - 'null'
          description: ID of the event this story was generated from. An event that has since been merged or removed still answers `GET /events/{id}` with a tombstone rather than a 404.
          example: 8fzq2rmtnk5c
    CompanySummary:
      type: object
      required:
      - id
      - name
      - slug
      - former_tickers
      - also_listed_on
      properties:
        id:
          type: string
          description: Unique company identifier
          example: w55fcw3pbg3p
        name:
          type: string
          description: Company name
          example: Volvo Car AB
        slug:
          type: string
          description: URL-friendly company name
          example: VOLCAR-B
        ticker:
          type:
          - string
          - 'null'
          description: Primary stock ticker (null if unlisted)
          example: VOLCAR-B
        former_tickers:
          type: array
          items:
            type: string
          description: Tickers the company was formerly listed under, from delisted or renamed listings, excluding any that are still a current ticker. Always present; empty when none. The ticker filter resolves former tickers as well as the current one, so a match on an old ticker still returns the company; this field tells you the ticker you searched by is historical.
          example:
          - VOLV
        is_active:
          type: boolean
          description: Whether the company is currently active/operating
          example: true
        exchange:
          type:
          - object
          - 'null'
          description: Primary exchange where the company is listed
          properties:
            id:
              type: string
              description: Exchange identifier
            name:
              type: string
              description: Exchange display name
            mic_code:
              type: string
              description: ISO 10383 Market Identifier Code
        also_listed_on:
          type: array
          description: 'The company''s other active listings, excluding the primary listing above: cross-listings on other exchanges and additional share classes (which may be on the same exchange). Always present; empty when the company is single-listed or unlisted. The row''s ticker/exchange fields are the primary listing only. Company detail stock_listings is the authoritative full set.'
          items:
            type: object
            required:
            - ticker
            - mic_code
            properties:
              ticker:
                type: string
                description: Ticker on this secondary exchange
                example: VOLCAR-B
              mic_code:
                type: string
                description: ISO 10383 Market Identifier Code of this exchange
                example: XSTO
          example: []
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API Key authentication using Bearer token
x-refined-from:
- nordic-financial-news-openapi-original.yml
- nordic-financial-news-openapi.yml