Skip to main content
GET
/
api
/
v1
/
stories
List Stories
curl --request GET \
  --url https://nordicfinancialnews.com/api/v1/stories \
  --header 'Authorization: Bearer <token>'
{
  "stories": [
    {
      "id": "story_volvo_q3",
      "title": "Volvo Reports Record Q3 Results",
      "summary": "Volvo reported record third-quarter earnings, beating analyst expectations...",
      "article_count": 4,
      "published_at": "2026-03-15T09:30:00.000Z",
      "article_ids": [
        "art_abc123def",
        "art_def456ghi"
      ],
      "country": "SE",
      "company_ids": [
        "uejazctgchj4"
      ],
      "category": {
        "id": "<string>",
        "name": "<string>"
      }
    }
  ],
  "pagination": {
    "count": 25,
    "next_cursor": "<string>"
  }
}

Authorizations

Authorization
string
header
required

API Key authentication using Bearer token

Headers

If-None-Match
string

ETag value from a previous response. Returns 304 Not Modified if data has not changed.

Query Parameters

limit
integer

Number of stories to return per page (default 25, max 100).

cursor
string

Opaque pagination cursor returned as pagination.next_cursor from a previous response. Mutually exclusive with q.

updated_after
string

ISO 8601 datetime. Returns only stories updated after this timestamp. Use this for polling-based real-time updates: store the timestamp of your last sync, then request only newer results on each poll (see the Real-Time Updates guide at https://docs.nordicfinancialnews.com). Disables cursor pagination — all matching results are returned in a single response.

q
string

Full-text search query (2-200 characters). Results are ranked by relevance instead of publication date. Mutually exclusive with cursor. Disables caching.

country
string

Filter by country using ISO 3166-1 alpha-2 code (e.g. SE, NO, DK). Comma-separated for multiple (e.g. SE,NO). Case-insensitive.

category
string

Filter by category ID.

sources
string

Comma-separated list of source IDs (max 25). Use GET /api/v1/sources to discover source IDs. Also accepts array form (sources[]=id1&sources[]=id2). Returns stories with at least one article from a listed source.

ticker
string

Filter by company stock ticker symbol (e.g. VOLV-B). Accepts full tickers with exchange suffix (e.g. VOLV-B.ST). Returns stories mentioning the company.

company
string

Filter to a single company by its id (as returned by the companies endpoints). Complements ticker; use this to reach companies without a stock listing.

exchange
string

Filter by exchange using ISO 10383 Market Identifier Code (e.g. XSTO for Nasdaq Stockholm, XCSE for Nasdaq Copenhagen, XHEL for Nasdaq Helsinki, XOSL for Oslo Børs). Returns stories about companies actively listed there. Case-insensitive.

index
string

Filter by stock index id or symbol (e.g. OMXS30, OMXC25, OMXH25, OBX). Returns stories about companies in that index. Case-insensitive for symbols.

sector
string

Filter by company sector. Case-sensitive; must exactly match one of: Communication Services, Consumer Discretionary, Consumer Staples, Energy, Financials, Health Care, Industrials, Information Technology, Materials, Real Estate, Utilities.

watchlist
string

Restricts to stories mentioning companies in a single watchlist, identified by its id (from the List Watchlists endpoint). An unknown id returns no stories. Requires read:watchlist scope.

published_after
string

ISO 8601 datetime. Returns stories published on or after this timestamp.

published_before
string

ISO 8601 datetime. Returns stories published before this timestamp.

fields
string

Comma-separated list of fields to include in the response. Available fields: id, title, summary, published_at, article_count, article_ids, country, category, topics, companies.

Response

Stories retrieved

stories
object[]
pagination
object
Last modified on June 4, 2026