Discover/doffin.no API
live

doffin.no APIdoffin.no

Access Norwegian public procurement notices from Doffin. Search tenders, fetch full notice details, and retrieve CPV category and location code hierarchies.

Endpoints
4
Updated
11d ago
Try it
Page number for pagination.
Number of results per page.
Search keyword to match against tender titles and descriptions.
Comma-separated notice type filter values. Verified working values: COMPETITION, ANNOUNCEM
Publication date upper bound in ISO 8601 format (e.g. '2026-01-01T00:00:00.000Z').
Comma-separated CPV code IDs to filter by (e.g. '72000000,45000000').
Sort order. Accepted values: RELEVANCE, PUBLICATION_DATE_DESC, PUBLICATION_DATE_ASC.
Publication date lower bound in ISO 8601 format (e.g. '2023-01-01T00:00:00.000Z').
Comma-separated status filter values. Accepted values: ACTIVE, EXPIRED, AWARDED, CANCELLED
Comma-separated location IDs to filter by (e.g. 'NO08,NO0A'). Use get_location_codes to di
Comma-separated contract nature filter values. Accepted values: WORKS, SUPPLIES, SERVICES.
api.parse.bot/scraper/8f7b91a3-1162-48ab-ae3d-83fd76676daa/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X POST 'https://api.parse.bot/scraper/8f7b91a3-1162-48ab-ae3d-83fd76676daa/search_tenders' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "page": "1",
  "limit": "5",
  "query": "IT",
  "statuses": "ACTIVE"
}'
All endpoints · 4 totalclick to expand

Search for procurement notices (tenders) with various filters. Returns paginated results with facets for filtering.

Input
ParamTypeDescription
pageintegerPage number for pagination.
limitintegerNumber of results per page.
querystringSearch keyword to match against tender titles and descriptions.
typesstringComma-separated notice type filter values. Verified working values: COMPETITION, ANNOUNCEMENT_OF_COMPETITION, RESULT, PLANNING.
pub_tostringPublication date upper bound in ISO 8601 format (e.g. '2026-01-01T00:00:00.000Z').
cpv_idsstringComma-separated CPV code IDs to filter by (e.g. '72000000,45000000').
sort_bystringSort order. Accepted values: RELEVANCE, PUBLICATION_DATE_DESC, PUBLICATION_DATE_ASC.
pub_fromstringPublication date lower bound in ISO 8601 format (e.g. '2023-01-01T00:00:00.000Z').
statusesstringComma-separated status filter values. Accepted values: ACTIVE, EXPIRED, AWARDED, CANCELLED.
locationsstringComma-separated location IDs to filter by (e.g. 'NO08,NO0A'). Use get_location_codes to discover valid IDs.
contract_naturesstringComma-separated contract nature filter values. Accepted values: WORKS, SUPPLIES, SERVICES.
Response
{
  "type": "object",
  "fields": {
    "hits": "array of tender summary objects with id, buyer, heading, description, type, status, deadline, publicationDate",
    "facets": "object containing available filter options with counts",
    "activeFacets": "object showing currently active filter selections",
    "numHitsTotal": "integer total number of matching results",
    "numHitsAccessible": "integer maximum accessible results (capped at 1000)"
  },
  "sample": {
    "data": {
      "hits": [
        {
          "id": "2025-116485",
          "type": "ANNOUNCEMENT_OF_INTENT",
          "buyer": [
            {
              "id": "4c4f51be27b9d9b28b1bc80b42eb4921",
              "name": "Øvre Romerike Innkjøpssamarbeid",
              "organizationId": "933649768"
            }
          ],
          "status": null,
          "heading": "Intensjonskunngjøring – anskaffelse av Gemini VA og Gemini Portal+",
          "allTypes": [
            "ANNOUNCEMENT_OF_INTENT",
            "RESULT"
          ],
          "deadline": null,
          "issueDate": "2025-11-10T10:40:43Z",
          "sentToTed": true,
          "locationId": [
            "anyw"
          ],
          "description": "anskaffelse av Gemini VA og Gemini Portal+",
          "estimatedValue": null,
          "publicationDate": "2025-11-11",
          "placeOfPerformance": [
            "Ikke stedbunden"
          ],
          "procurementStrategicLabels": []
        }
      ],
      "facets": {
        "type": {
          "items": [
            {
              "id": "COMPETITION",
              "total": 19147
            }
          ]
        },
        "status": {
          "items": [
            {
              "id": "EXPIRED",
              "total": 15403
            }
          ]
        }
      },
      "activeFacets": {
        "type": {
          "items": []
        },
        "buyer": {
          "items": []
        }
      },
      "numHitsTotal": 35442,
      "numHitsAccessible": 1000
    },
    "status": "success"
  }
}

About the doffin.no API

The Doffin API provides 4 endpoints for querying Norway's national public procurement database. With search_tenders you can filter notices by keyword, CPV code, publication date range, and notice type, receiving paginated results alongside facet counts. Separate endpoints return full notice detail, the complete CPV code hierarchy, and a hierarchical tree of Norwegian location codes.

Searching and Filtering Procurement Notices

The search_tenders endpoint accepts a range of optional filters: query matches against tender titles and descriptions, cpv_ids accepts comma-separated CPV codes (e.g. 72000000,45000000), pub_from and pub_to bound results by ISO 8601 publication dates, and types filters by notice type (e.g. COMPETITION, ANNOUNCEMENT_OF_COMPETITION). Results are sorted by RELEVANCE, PUBLICATION_DATE_DESC, or PUBLICATION_DATE_ASC. Each page of results includes a hits array of tender summaries — covering id, buyer, heading, description, type, status, deadline, and publicationDate — along with facets showing available filter breakdowns and numHitsTotal for the full match count. Accessible results are capped at 1000 regardless of total hits.

Full Notice Detail

Passing a notice reference ID (e.g. 2025-116485) to get_tender_detail returns the complete record for that notice. The response includes structured eform sections containing the granular fields that make up the notice, buyer objects with IDs and names, noticeType, heading, description, and award information where available. Notice IDs are obtained from search_tenders results.

Reference Code Lookups

get_cpv_codes returns the full CPV (Common Procurement Vocabulary) tree used across EU and Norwegian procurement. Each node carries an id (e.g. 03000000), a stem, a human-readable label, and a children array for nested subcategories. get_location_codes returns the Norwegian geographic hierarchy from country (NO0) down to county level, with each node carrying an id, name, level integer, parent reference, and children array. These two lookups are useful for building filter UIs or mapping codes returned in tender results to readable labels.

Common use cases
  • Monitor new Norwegian government tenders matching specific CPV codes for a given product or service category.
  • Build a tender alert system that polls search_tenders filtered by pub_from to catch notices published since the last check.
  • Enrich procurement analytics pipelines with full notice details including buyer identity and structured eForm sections from get_tender_detail.
  • Map tender results to readable category names by cross-referencing cpv_ids against the get_cpv_codes hierarchy.
  • Visualize procurement activity by Norwegian region using location codes from get_location_codes alongside tender search results.
  • Aggregate open competition notices by deadline to prioritize which tenders to bid on across multiple procurement categories.
  • Identify frequent government buyers by extracting and counting buyer objects across a filtered set of search_tenders results.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Doffin have an official developer API?+
Doffin does not currently publish a documented public developer API. The data exposed by this API reflects what is available on the Doffin website at doffin.no.
How does pagination work in `search_tenders`, and is there a cap on results?+
Use the page and limit parameters to paginate through results. The response includes numHitsTotal (total matching notices) and numHitsAccessible, which is capped at 1000. Even if a search matches more than 1000 notices, only the first 1000 are accessible through pagination. Narrowing filters — such as tighter date ranges or specific CPV codes — helps stay within that window.
Does `get_tender_detail` return awarded contract values or supplier names?+
The endpoint returns structured eform sections that include award information where it exists in the notice. However, not all notices carry award data — availability depends on the notice type and what the contracting authority has published. The noticeType field in the response helps identify whether an award should be present.
Can I filter `search_tenders` by geographic location (region or county)?+
The current search_tenders inputs do not include a location filter parameter. Location codes are retrievable via get_location_codes, but they are not yet wired as a search filter. You can fork this API on Parse and revise it to add location-based filtering to the search endpoint.
Are historical tenders from before 2023 accessible through the search endpoint?+
The pub_from parameter accepts any ISO 8601 date, so older notices can be queried if they exist in the Doffin database. In practice, the depth of historical data depends on what Doffin has indexed. For very old notices not returned by search, there is no separate historical archive endpoint. You can fork this API on Parse and revise it to add a dedicated historical lookup if Doffin exposes that data via another route.
Page content last updated . Spec covers 4 endpoints from doffin.no.
Related APIs in Government PublicSee all →
identify.plantnet.org API
Identify and explore plant species by searching through Pl@ntNet's comprehensive botanical database to access detailed information like taxonomic families, genera, species descriptions, photos, and community observations. Track plant distributions, view contribution trends, and discover expert contributors within the platform's collaborative plant identification community.
data.lime.bike API
Access real-time availability data for Lime bikes and scooters, including station locations, vehicle status, system alerts, and geofencing zones across multiple cities. Monitor micromobility inventory and service information to find nearby vehicles or plan your trips effectively.
accessdata.fda.gov API
Search and retrieve comprehensive FDA premarket approval information for medical devices, including approval status, supplements, applicant details, and advisory committee data. Get instant access to specific PMA records with all relevant approval information in one place.
eprocurement.gov API
Monitor India's public procurement opportunities by accessing active tenders, bids closing today, global tenders, high-value contracts, and cancelled tenders from the Central Public Procurement Portal. Search tender details, browse participating organizations, and track real-time procurement statistics to stay informed on government contracting opportunities.
cmegroup.com API
Get CME Group market data including FedWatch interest-rate probabilities, futures quotes and settlements, volume/open interest history, and options expirations and near-the-money option chains.
alienvault.com API
Search and analyze global threat intelligence data including indicators of compromise, threat pulses, and adversary profiles from the Open Threat Exchange community. Monitor recent security alerts and access detailed information about threats and adversaries to strengthen your cybersecurity defenses.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.
mahatenders.gov.in API
Access Maharashtra government tenders from mahatenders.gov.in, browsing them by closing date or by organization with full tender details and pagination support. Find and review procurement opportunities across different government departments in one place.
Doffin.no API – Norwegian Public Tenders · Parse