Discover/DI API
live

DI APIdi.se ↗

Fetch Swedish financial news from di.se. List latest headlines, retrieve full article text, authors, sections, and access levels via 3 endpoints.

Endpoint health
verified 1h ago
get_latest_article
list_latest_articles
get_article
3/3 passing latest checkself-healing
Endpoints
3
Updated
2h ago

What is the DI API?

The DI.se API provides structured access to Swedish financial and business news from di.se across 3 endpoints. Use list_latest_articles to pull a feed of the newest headlines with publication times and canonical URLs, get_latest_article to retrieve the full text of the most recent publicly available article, or get_article to fetch any specific di.se article by URL — returning fields like title, lead, paragraphs, authors, section, access, and ISO 8601 timestamps.

This call costs10 credits / call— charged only on success
Try it
When true, return the newest article whose full body is publicly readable instead of the very newest entry regardless of access level.
→ api.parse.bot/scraper/18600680-83c5-4418-86c0-529797431b3a/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/18600680-83c5-4418-86c0-529797431b3a/get_latest_article?free_only=true' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace di-se-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: di.se articles SDK — list headlines, drill into full text."""
from parse_apis.di_se_api import DiSe, ArticleNotFound

client = DiSe()

# List the latest headline summaries from di.se's news feed.
for summary in client.article_summaries.list(limit=5):
    print(summary.title, "|", summary.author)

# Drill into the newest summary to read the full article.
summary = client.article_summaries.list(limit=1).first()
if summary is not None:
    article = summary.details()
    print(article.title, article.section, article.access)
    print(article.lead)
    for para in article.paragraphs[:3]:
        print(para)

# Fetch the latest freely readable article directly.
latest_free = client.articles.latest(free_only=True)
print(latest_free.title, "|", latest_free.published)

# Point-lookup by URL with typed error handling.
try:
    article = client.articles.get(url="https://www.di.se/nyheter/example-article/")
except ArticleNotFound:
    print("Article not found at that URL")

print("exercised: article_summaries.list / details / articles.latest / articles.get")
All endpoints · 3 totalmissing one? ·

Returns the newest article on di.se as one record with its whole text. The newest article is taken from the site's public news feed (newest publication time first, TV programme entries excluded) and its page is fetched to extract the headline, lead, body paragraphs and a joined full_text. Many di.se articles are restricted: access is 'free' (body public), 'login_required' (body needs a free account) or 'subscription' (body needs a paid subscription); for restricted articles paragraphs is empty, body_available is false and full_text contains only the lead. With free_only=true the endpoint walks the feed (up to 20 newest entries, one page fetch each) and returns the newest article whose body is publicly readable; if none of the 20 is free the record comes back with null title/url and articles_skipped=20. articles_skipped counts feed entries passed over before the returned one. Timestamps are ISO 8601 with the site's Europe/Stockholm offset.

Input
ParamTypeDescription
free_onlybooleanWhen true, return the newest article whose full body is publicly readable instead of the very newest entry regardless of access level.
Response
{
  "type": "object",
  "fields": {
    "id": "site article id (UUID string) from the news feed",
    "url": "canonical article URL on www.di.se; accepted unchanged by get_article",
    "lead": "lead paragraph (ingress), null if absent",
    "title": "headline",
    "access": "free | login_required | subscription (null when no article was returned)",
    "authors": "array of author/byline names",
    "section": "site section label (e.g. Ledare, Live, Nyheter)",
    "summary": "feed description of the article",
    "modified": "ISO 8601 last-modified time",
    "full_text": "lead + paragraphs joined with blank lines",
    "published": "ISO 8601 publication time",
    "paragraphs": "array of body paragraph/heading strings in reading order (empty when the body is restricted)",
    "body_available": "boolean, true when body paragraphs were extracted",
    "articles_skipped": "integer count of newer feed entries skipped (only >0 with free_only=true)"
  },
  "sample": {
    "data": {
      "id": "4531601f-c30b-43c5-bec4-a0f56fd3c97f",
      "url": "https://www.di.se/ledare/gretas-smasyskon-drar-hogerut/",
      "lead": "Förstagångsväljarna röstade i ännu större grad än hela väljarkåren på att annat sätt än vad prognosmakarna hade väntat sig.",
      "title": "Gretas småsyskon drar högerut",
      "access": "free",
      "authors": [
        "Erik Zsiga"
      ],
      "section": "Ledare",
      "summary": "Förstagångsväljarna röstade i ännu större grad än hela väljarkåren på att annat sätt än vad prognosmakarna hade väntat sig.",
      "modified": "2026-09-30T10:58:25.448+02:00",
      "full_text": "Förstagångsväljarna röstade i ännu större grad än hela väljarkåren på att annat sätt än vad prognosmakarna hade väntat sig.\n\nBland förstagångsväljarna blev Moderaterna största parti för tredje valet i rad.\n\nS blev näst största parti, men får bara var femte röst.",
      "published": "2026-09-30T10:45:04.297+02:00",
      "paragraphs": [
        "Bland förstagångsväljarna blev Moderaterna största parti för tredje valet i rad.",
        "S blev näst största parti, men får bara var femte röst."
      ],
      "body_available": true,
      "articles_skipped": 11
    },
    "status": "success"
  }
}

About the DI API

What the API Returns

All three endpoints surface article-level data from Dagens Industri (di.se), Sweden's leading financial and business newspaper. The list_latest_articles endpoint returns an array of up to ~20 feed entries sorted newest first. Each entry includes id, title, description, url, published, and author. TV programme entries are excluded. There is no pagination — one request returns the full current feed.

Fetching Article Content

get_article accepts any url on www.di.se and returns title, lead, paragraphs (an ordered array of body text strings), full_text (lead and paragraphs joined with blank lines), authors, section, published, modified, and access. The access field takes one of three values: free, login_required, or subscription. Full body text (paragraphs, full_text) is populated only when access is free; for restricted articles, those fields return empty and you still receive headline, lead, and metadata.

Getting the Newest Article Directly

get_latest_article combines feed lookup and content fetching in a single call. By default it returns the very newest article regardless of access level. Set the optional free_only parameter to true to skip past paywalled entries and return the newest article whose body is fully readable. The response shape is identical to get_article plus a summary field from the feed and the article's id.

Coverage Notes

All content is in Swedish. Sections vary and are surfaced as-is from the site (e.g. Ledare, Nyheter, Live). Article IDs are UUID strings from the news feed and are stable identifiers for deduplication. The url returned by any endpoint is the canonical www.di.se URL and can be passed directly to get_article.

Reliability & maintenanceVerified

The DI API is a managed, monitored endpoint for di.se — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when di.se changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official di.se API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor di.se for breaking Swedish financial news by polling list_latest_articles and filtering on published timestamps.
  • Build a Swedish business news digest by collecting full_text from free articles via get_latest_article with free_only: true.
  • Track which di.se articles require a subscription versus which are openly readable using the access field.
  • Index di.se article metadata — headline, authors, section, publication time — into a search or analytics database.
  • Detect byline frequency and editorial focus by aggregating authors and section fields across list_latest_articles results.
  • Archive publicly available article bodies with paragraphs arrays from get_article for NLP or sentiment analysis on Swedish financial content.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does di.se have an official public developer API?+
No. Di.se does not publish a public developer API or documented data feed for third-party use.
What does the `access` field tell me, and does the API return full text for paywalled articles?+
The access field returns one of three values: free, login_required, or subscription. Full body text — the paragraphs array and full_text string — is only populated when access is free. For login_required and subscription articles, the API returns title, lead, authors, section, and timestamps, but paragraphs is empty.
How fresh is the article feed returned by `list_latest_articles`?+
The feed reflects di.se's public news feed at the time of the request, sorted newest-first. There is no caching layer specified beyond normal HTTP behavior, so results reflect near-real-time publication order. The feed returns roughly 20 entries and does not support pagination or date-range filtering.
Can I search di.se articles by keyword, topic, or date range?+
Not currently. The API covers fetching the latest feed entries and retrieving individual articles by URL. It does not include search, filtering by section, or historical article lookup. You can fork it on Parse and revise to add a search endpoint targeting specific sections or date ranges.
Does the API cover di.se content other than news articles, such as stock data, fund prices, or market tables?+
Not currently. The three endpoints cover news articles only — headlines, body text, authors, sections, and access levels. Di.se also publishes market prices, company data, and financial tables, but those are not part of this API. You can fork it on Parse and revise to add endpoints targeting that data.
Page content last updated . Spec covers 3 endpoints from di.se.
Related APIs in News MediaSee all →
detik.com API
Search and browse news articles from Detik.com by keywords, topics, or specific channels to get the latest headlines and full article details. Find news tailored to your interests through tag-based browsing and access real-time updates across different content categories.
nrk.no API
Access the latest news from Norway's leading broadcaster NRK.no, including front-page stories, category-specific articles, regional news, and breaking news updates through a unified search and browsing interface. Stay informed with full article content, RSS feeds, and real-time news ticker notifications across all major topics.
nytimes.com API
Retrieve the latest news articles from The New York Times organized by topic sections like politics, business, technology, and more. Stay informed with current stories from one of the world's leading news sources without manually browsing their website.
reuters.com API
Access data from reuters.com.
djmag.com API
Access the latest DJ and electronic music news, discover rankings of the world's top 100 DJs and clubs, view detailed club profiles, and search through DJ Mag's extensive article archive. Stay updated on the electronic music scene with curated features, news updates, and industry insights all in one place.
vg.no API
Access VG.no's latest news, articles, sports scores, and TV guides through a single interface where you can browse the front page, search articles by topic, view category-specific content, and find related stories. Get real-time sports scores and television schedules alongside comprehensive news coverage from Norway's leading news outlet.
dev.to API
Access data from dev.to.
apnews.com API
Search for news articles from Associated Press on any topic and retrieve complete article details including headlines, summaries, and content with easy pagination. Stay informed with current news stories by finding and reading articles on subjects that matter to you.