Norway Public Tenders Scraper: Doffin Notices
Pricing
from $1.20 / 1,000 tenders
Norway Public Tenders Scraper: Doffin Notices
Scrape Norwegian public tenders from Doffin, the national notification database: title, description, buyer and org number, place, notice type, status, publication date, deadline and link. Filter by keyword, CPV, region. Alerts. $1.50 per 1,000.
Pricing
from $1.20 / 1,000 tenders
Rating
0.0
(0)
Developer
DataDesk
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Features
Share
Norway Public Tenders Scraper
Monitor Norwegian public procurement from Doffin (doffin.no), the national database for public notices: 160,000+ notices from municipalities, ministries, hospitals and state companies. Each record has title, description, buyer name and org number, place of performance, notice type, status, publication date, deadline, estimated value when given, green/social procurement labels and the notice link. Filter by keyword, CPV code, region, status and date. No login, no key. $1.50 per 1,000 tenders.
What you get
| Field group | Fields |
|---|---|
| Tender | tenderId, title, description, noticeType, status, labels |
| Buyer | buyerName, buyerOrgNumber, buyers |
| Place | placeOfPerformance, locationCodes |
| Dates and value | publishedAt, issuedAt, deadlineAt, estimatedValue, estimatedValueCurrency, sentToTed |
| Link | url |
Sources and coverage
| Source | Coverage | Data |
|---|---|---|
Doffin (doffin.no) | Norway national public notices, EEA and national thresholds | Competitions, results, planning and advisory notices |
How to use it
- Click Try for free (or Start): the prefilled input runs a quick test.
- Adjust the filters (see examples below).
- Click Start and wait a few seconds.
- Open the Output tab and export as JSON, CSV, Excel, XML or HTML, or read the dataset via API.
Input examples
Open IT tenders:
{"keywords": ["programvare"], "status": ["ACTIVE"], "daysBack": 60, "maxTenders": 100}
Software CPV notices in Oslo:
{"cpvCodes": ["72000000"], "locationCodes": ["NO081"], "daysBack": 90, "maxTenders": 300}
Daily alert for construction tenders:
{"keywords": ["bygg"], "noticeTypes": ["ANNOUNCEMENT_OF_COMPETITION"], "daysBack": 2, "onlyNewTenders": true, "alertsKey": "construction-no"}
Input fields
| Field | Type | Description |
|---|---|---|
keywords | array | Words in Norwegian or English, e.g. programvare, bygg, software. Leave empty for all notices. |
daysBack | integer | Only notices published in the last N days. 0 = all dates (max 1,000 notices per query). |
status | array | ACTIVE, AWARDED, EXPIRED or CANCELLED. |
noticeTypes | array | e.g. ANNOUNCEMENT_OF_COMPETITION (open tender), RESULT, ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT, PLANNING, ADVISORY_NOTICE. |
cpvCodes | array | CPV codes, e.g. 72000000 (IT services), 48000000 (software), 45000000 (construction). |
locationCodes | array | NUTS codes, e.g. NO081 (Oslo), NO0A1 (Vestland), NO060 (Trøndelag). |
maxTenders | integer | Stop after this many notices. |
onlyNewTenders | boolean | Return only tenders not seen in previous runs with the same alerts key. Schedule daily for alerts. |
alertsKey | string | Name for this alert memory (use a different key per saved search). |
Output example
Example values from a local test run.
{"source": "doffin","tenderId": "2026-117303","title": "Markedsdialog: Helhetlige IT-driftstjenester for Fjellinjen","description": "Fjellinjen inviterer leverandører til skriftlig markedsdialog i forbindelse med en kommende anskaffelse av helhetlige IT-driftstjenester for virksomhetens digitale arbeidsflate og underliggende IT-miljø. Formålet med markedsdialogen er å få innsikt i markedets vurderinger av den planlagte leveransen og utkast til kravspesifikasjon. Fjellinjen ønsker særlig innspill til om kravene er tydelige, relevante og forholdsmessige, og om de legger til rette for god konkurranse, sikker og stabil leveranse, teknologisk fleksibilitet og hensiktsmessig videreutvikling i avtaleperioden. Leverandørene inviteres til å gi skriftlige tilbakemeldinger på spørsmålene i dialogskjemaet. Fjellinjen er også interessert i øvrige innspill som kan bidra til å forbedre konkurransegrunnlaget, tydeliggjøre ansvarsdeling og sikre en balansert og fremtidsrettet leveransemodell. Innspillene vil bli brukt som del av forberedelsen av anskaffelsen. Deltakelse i markedsdialogen er frivillig og er ikke en forutsetning for å kunne delta i en senere konkurranse. Se vedlegg for beskrivelse av leveransen og Fjellinjen.","noticeType": "ADVISORY_NOTICE","status": null,"buyerName": "Fjellinjen","buyerOrgNumber": "941856543","buyers": "Fjellinjen","placeOfPerformance": "Oslo","locationCodes": "NO081","estimatedValue": null,"estimatedValueCurrency": null,"publishedAt": "2026-11-07","issuedAt": "2026-11-06T09:35:44Z","deadlineAt": null,"sentToTed": false,"labels": null,"url": "https://www.doffin.no/notices/2026-117303"}
Output fields
| Field | Description |
|---|---|
tenderId | Doffin notice ID (e.g. 2026-117319) |
title | Notice heading |
description | Short description |
noticeType | COMPETITION, RESULT, PLANNING... |
status | ACTIVE, AWARDED, EXPIRED, CANCELLED |
buyerName / buyerOrgNumber | Contracting authority |
placeOfPerformance | Region |
deadlineAt | Tender deadline |
estimatedValue | Only when published |
url | Doffin notice page |
Pricing
Pay-per-event: $0.005 once per run that saves results + $0.002 per tender ($1.5 / 1,000). Runs that save nothing are not charged.
| Tenders saved | Approx. cost |
|---|---|
| 20 | $0.035 |
| 100 | $0.155 |
| 1,000 | $1.505 |
| 10,000 | $15.005 |
Use cases
- Bid teams monitoring Norwegian tenders by CPV or keyword
- Lead lists of public buyers (with org numbers) for B2B sales
- Market analysis of public spend by region
- Daily alerts for new competitions
Integrations / API
Works with the Apify API, Schedules, webhooks, Make, Zapier, n8n and MCP. Example:
curl "https://api.apify.com/v2/acts/datadesk-io~norway-tenders-scraper/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \-d '{"keywords": ["programvare"], "status": ["ACTIVE"], "daysBack": 60, "maxTenders": 100}'
Python:
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("datadesk-io/norway-tenders-scraper").call(run_input={"keywords": ["programvare"], "status": ["ACTIVE"], "daysBack": 60, "maxTenders": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
MCP
Use this Actor from an MCP client (Cursor, Claude Desktop, etc.) through the Apify MCP server (datadesk-io/norway-tenders-scraper).
Alerts mode
Turn on the Only new option and schedule the Actor daily: each run returns only tenders not seen in earlier runs with the same alerts key (nothing is charged when there is nothing new).
FAQ
Do I need a key? No. The Actor reads the same public search as doffin.no.
Can I get every notice ever published? Doffin exposes at most 1,000 hits per query, so the Actor splits long periods into weekly windows automatically.
Are documents included? No: you get structured data and the notice link; documents are on Doffin.
Limitations
- Doffin exposes the top 1,000 hits per query; the Actor splits by week when daysBack is set.
- Estimated value is empty for most notices.
- Descriptions are short summaries, not the full tender documents.
Support
Questions, bugs or a missing field? Email datadesk.io@proton.me or open an issue on the Actor page.
ES: Extrae licitaciones públicas noruegas de Doffin: comprador, nº org., CPV, estado, plazo y enlace. Filtros por palabra, CPV y región. $1,50 / 1.000. PT: Extrai licitações públicas norueguesas do Doffin: comprador, nº org., CPV, status, prazo e link. $1,50 / 1.000.