search_doffin
Search Norwegian public procurement notices on Doffin.
Direct GET
For navigating agents: open the HTML page with parameters in the URL. The result is fetched and displayed without screenshots or form filling.
Open this validated HTML GET URL
https://allemannsdata.com/wiki/kilder/doffin/search_doffin/?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0
For software and dashboards:
Read the operation descriptor.
The JSON GET template is https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0.
Open this exact request as JSON.
| Parameter | Requirement | JSON type | Description |
|---|---|---|---|
query | optional | string | Free-text search (Norwegian or English), e.g. "IT-drift", "snørydding", "rammeavtale konsulent". Start here. |
types | optional | union | Filter by notice type. Parent types: PLANNING, COMPETITION, RESULT. Specific types: ANNOUNCEMENT_OF_COMPETITION, DYNAMIC_PURCHASING_SCHEME, QUALIFICATION_SCHEME, ANNOUNCEMENT_OF_INTENT, PRE_ANNOUNCEMENT, ADVISORY_NOTICE, NOTICE_ON_BUYER_PROFILE, ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT, CHANGE_OF_CONCLUSION_OF_CONTRACT, CANCELLED_OR_MISSING_CONCLUSION_OF_CONTRACT. Use ["COMPETITION"] + statuses=["ACTIVE"] for open tenders. |
statuses | optional | union | ACTIVE (open for bids), EXPIRED, AWARDED, CANCELLED. |
contract_nature | optional | union | WORKS, SERVICES and/or SUPPLIES. |
cpv_codes | optional | union | 8-digit CPV codes, e.g. ["45000000"]. Matches the code and its children. Find codes with search_cpv_codes(). Best combined with a free-text query. |
locations | optional | union | NUTS-style location ids, e.g. ["NO060"] (Trøndelag), or "anyw" for non-location-bound. See list_location_codes(). |
buyer | optional | union | Buyer organization full name(s) exactly as written on notices, e.g. ["Trondheim kommune"]. Resolved to Doffin's internal buyer id via a free-text lookup; names that match no buyer are reported in "note" and, if none match, no results are returned (rather than an unfiltered search). Pass the 32-hex buyer id from a result's buyer field directly to skip the lookup. |
winner | optional | union | Doffin's internal supplier id (32-hex). Winner names cannot be used - they are not present in search results to resolve against. |
date_from | optional | union | Publication date lower bound, "YYYY-MM-DD". |
date_to | optional | union | Publication date upper bound, "YYYY-MM-DD". |
sort_by | optional | string | RELEVANCE (default), PUBLICATION_DATE_DESC, PUBLICATION_DATE_ASC, DEADLINE, ESTIMATED_VALUE_ASC, ESTIMATED_VALUE_DESC. |
include_placeholders | optional | boolean | By default, hits whose buyer fields look like unfilled eForm template values (org id 123456789, placeholder buyer names) are dropped from the results as junk. Set True to keep them, each flagged with "possible_placeholder": true. |
limit | optional | integer | Gateway page size; default 25, maximum 100. |
offset | optional | integer | Number of list items to skip; default 0. |
Generated JavaScript, Python and response structure
Use JSON when the user requests code, machine-readable data, value extraction or further computation. Use the HTML GET page to identify the correct source and verify parameters.
Example for generated JavaScript and Python
https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0
Replace URL placeholders and remove unused optional parameters.
JavaScript in a dashboard
const url = "https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0";
const response = await fetch(url);
if (!response.ok) {
const failure = await response.json();
throw new Error(`${failure.error.code}: ${failure.error.message} ${failure.suggestion}`);
}
const result = await response.json();
const data = result.data;
Python without additional packages
import json
from urllib.request import urlopen
url = "https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0"
with urlopen(url) as response:
result = json.load(response)
data = result["data"]
Response structure
{
"source": "doffin",
"operation": "search_doffin",
"parameters": {},
"data": {},
"entities": [],
"_meta": {"retrieved_at": "...", "sources": [], "cache": {}},
"_links": {"self": "...", "source": "...", "wiki": "...", "feedback": "..."}
}
Form for manual use
The form is a fallback for people and browser agents that cannot open the GET URL directly.
Result
- total_count:
- 3
- hits:
3 results
- id:
- 2022-387134
- buyer:
1 results
- id:
- f5e1fda4a7dc6dc4c89a59a69bf9186f
- organization_id:
- 959 469 059
- name:
- Narvik kommune
- heading:
- Knusing av asfaltflak
- description:
- Oppdraget består i å knuse asfaltflak og klumper som oppdragsgiver har lagret på eget område ved Fornes i Ballangen. På området antas det å være minimum 8000 tonn med asfaltflak, klumper blandet med veigrus. Oppdragsgiver forventer å knuse opp massene 1 gang pr år, ca 3000 tonn årlig. I tillegg til knusing må det påregnes trimming av knust asfalt.
- location_id:
1 results
- NO071
- estimatedValue:
- not reported by source
- type:
- ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
- allTypes:
2 results
- ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
- RESULT
- status:
- not reported by source
- issueDate:
- 2022-02-23T10:00:00Z
- deadline:
- not reported by source
- sentToTed:
- no
- publicationDate:
- 2022-02-23
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- id:
- 2022-317064
- buyer:
1 results
- id:
- f5e1fda4a7dc6dc4c89a59a69bf9186f
- organization_id:
- 959 469 059
- name:
- Narvik kommune
- heading:
- Knusing av asfaltflak
- description:
- Oppdraget består i å knuse asfaltflak og klumper som oppdragsgiver har lagret på eget område ved Fornes i Ballangen. På området antas det å være minimum 8000 tonn med asfaltflak, klumper blandet med veigrus. Oppdragsgiver forventer å knuse opp massene 1 gang pr år, ca 3000 tonn årlig. I tillegg til knusing må det påregnes trimming av knust asfalt.
- location_id:
1 results
- NO071
- estimatedValue:
- not reported by source
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2022-01-13T10:00:00Z
- deadline:
- 2022-02-10T21:59:00Z
- sentToTed:
- yes
- publicationDate:
- 2022-01-13
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- id:
- 2026-115850
- buyer:
1 results
- id:
- 7853094408bbdaa9c8d9423aae5775e7
- organization_id:
- 940493021
- name:
- Arendal kommune
- heading:
- Rammeavtale for steinmasser
- description:
- Bakgrunn Arendal kommune skal inngå en ny rammeavtale for steinmasser fordi gjeldende avtale utløper i desember 2026. Anskaffelsen skal sikre kontinuitet i leveransene til kommunens løpende drift, vedlikehold og investeringsprosjekter. Kommunen har et løpende behov for steinmasser til ulike prosjekter og anlegg, og behovet varierer i både omfang og type. Det er derfor viktig å etablere en løsning som gir god leveringssikkerhet, tilstrekkelig kapasitet og fleksibilitet i avtaleperioden. Den nye rammeavtalen skal også legge til rette for bedre ressursutnyttelse og økt gjenbruk. Kommunen ønsker derfor at avtalen skal understøtte håndtering av rene steinmasser for sortering og knusing til gjenbruk, samt mottak av asfaltflak der dette er hensiktsmessig og i tråd med gjeldende krav. For leverandørene er det viktig å merke seg at anskaffelsen skal gi kommunen en praktisk og robust forsyningsløsning, med tydelige rammer for kvalitet, dokumentasjon, sporbarhet og avrop i avtaleperioden. Beskrivelse av oppdrag Rammeavtalen gjelder levering av steinmasser til Arendal kommunes ulike prosjekter og anlegg innenfor avtaleperioden. Leveransen omfatter aktuelle massetyper som pukk, grus og sandfraksjoner, tilpasset kommunens varierende behov i både små og større tiltak. Leveringene skal skje fritt opplastet på bil. Rammeavtalen skal kunne benyttes på tvers av kommunens virksomhet og dekke både ordinære behov og situasjoner hvor det er behov for rask tilgang på masser. Oppdraget omfatter også håndtering av rene steinmasser fra kommunens anlegg, herunder mottak, sortering og knusing for gjenbruk når dette er relevant. I tillegg skal avtalen omfatte mottak av asfaltflak for gjenbruk der dette er faglig og praktisk egnet. Det som etterspørres er en leveranse som samlet gir kommunen stabil tilgang til nødvendige masser, hensiktsmessig kapasitet og en løsning som støtter kommunens mål om kvalitet, effektiv ressursbruk og økt gjenbruk. Rammeavtale Anskaffelsen vil bli regulert av vedlagte rammeavtale, med tilhørende standardvilkår. Rammeavtalen har en varighet fra 19.12.2026 - 18.12.2028 med mulighet for oppdragsgiver til å forlenge rammeavtalen med ytterligere 1+1 år. Oppdragsgiver vil inngå parallelle avtaler med to eller flere leverandører, såfremt et tilstrekkelig antall kvalifiserte leverandører gir tilbud. Avrop skal foretas hos den rammeavtaleleverandør som har kortest transportavstand mellom oppgitt produksjonsanlegg og leveringssted. Transportavstanden beregnes som korteste kjørbare strekning på offentlig veinett ved bruk av Google maps. Transportavstander anses som tilnærmet like dersom differansen er mindre enn 5 km. Ved tilnærmet lik transportavstand skal den høyest rangerte leverandøren etter konkurransens tildeling benyttes. Dersom valgt leverandør dokumenterer manglende kapasitet, ikke kan levere innen etterspurt tidspunkt eller skriftlig begrunner andre forhold som gjør levering umulig, kan Oppdragsgiver rette forespørselen til neste leverandør i rangeringen. Oppdragsgiver garanterer ikke noe minimumsvolum til den enkelte leverandør.
- location_id:
1 results
- NO092
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 10000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- ACTIVE
- issueDate:
- 2026-10-09T12:10:38Z
- deadline:
- 2026-11-13T11:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2026-10-12
- placeOfPerformance:
- procurementStrategicLabels:
1 results
- ENVIRONMENT_PROCUREMENT
Show all fields in HTML
- total_count:
- 3
- hits:
3 results
- id:
- 2022-387134
- buyer:
1 results
- id:
- f5e1fda4a7dc6dc4c89a59a69bf9186f
- organization_id:
- 959 469 059
- name:
- Narvik kommune
- heading:
- Knusing av asfaltflak
- description:
- Oppdraget består i å knuse asfaltflak og klumper som oppdragsgiver har lagret på eget område ved Fornes i Ballangen. På området antas det å være minimum 8000 tonn med asfaltflak, klumper blandet med veigrus. Oppdragsgiver forventer å knuse opp massene 1 gang pr år, ca 3000 tonn årlig. I tillegg til knusing må det påregnes trimming av knust asfalt.
- location_id:
1 results
- NO071
- estimatedValue:
- not reported by source
- type:
- ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
- allTypes:
2 results
- ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
- RESULT
- status:
- not reported by source
- issueDate:
- 2022-02-23T10:00:00Z
- deadline:
- not reported by source
- sentToTed:
- no
- publicationDate:
- 2022-02-23
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- id:
- 2022-317064
- buyer:
1 results
- id:
- f5e1fda4a7dc6dc4c89a59a69bf9186f
- organization_id:
- 959 469 059
- name:
- Narvik kommune
- heading:
- Knusing av asfaltflak
- description:
- Oppdraget består i å knuse asfaltflak og klumper som oppdragsgiver har lagret på eget område ved Fornes i Ballangen. På området antas det å være minimum 8000 tonn med asfaltflak, klumper blandet med veigrus. Oppdragsgiver forventer å knuse opp massene 1 gang pr år, ca 3000 tonn årlig. I tillegg til knusing må det påregnes trimming av knust asfalt.
- location_id:
1 results
- NO071
- estimatedValue:
- not reported by source
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2022-01-13T10:00:00Z
- deadline:
- 2022-02-10T21:59:00Z
- sentToTed:
- yes
- publicationDate:
- 2022-01-13
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- id:
- 2026-115850
- buyer:
1 results
- id:
- 7853094408bbdaa9c8d9423aae5775e7
- organization_id:
- 940493021
- name:
- Arendal kommune
- heading:
- Rammeavtale for steinmasser
- description:
- Bakgrunn Arendal kommune skal inngå en ny rammeavtale for steinmasser fordi gjeldende avtale utløper i desember 2026. Anskaffelsen skal sikre kontinuitet i leveransene til kommunens løpende drift, vedlikehold og investeringsprosjekter. Kommunen har et løpende behov for steinmasser til ulike prosjekter og anlegg, og behovet varierer i både omfang og type. Det er derfor viktig å etablere en løsning som gir god leveringssikkerhet, tilstrekkelig kapasitet og fleksibilitet i avtaleperioden. Den nye rammeavtalen skal også legge til rette for bedre ressursutnyttelse og økt gjenbruk. Kommunen ønsker derfor at avtalen skal understøtte håndtering av rene steinmasser for sortering og knusing til gjenbruk, samt mottak av asfaltflak der dette er hensiktsmessig og i tråd med gjeldende krav. For leverandørene er det viktig å merke seg at anskaffelsen skal gi kommunen en praktisk og robust forsyningsløsning, med tydelige rammer for kvalitet, dokumentasjon, sporbarhet og avrop i avtaleperioden. Beskrivelse av oppdrag Rammeavtalen gjelder levering av steinmasser til Arendal kommunes ulike prosjekter og anlegg innenfor avtaleperioden. Leveransen omfatter aktuelle massetyper som pukk, grus og sandfraksjoner, tilpasset kommunens varierende behov i både små og større tiltak. Leveringene skal skje fritt opplastet på bil. Rammeavtalen skal kunne benyttes på tvers av kommunens virksomhet og dekke både ordinære behov og situasjoner hvor det er behov for rask tilgang på masser. Oppdraget omfatter også håndtering av rene steinmasser fra kommunens anlegg, herunder mottak, sortering og knusing for gjenbruk når dette er relevant. I tillegg skal avtalen omfatte mottak av asfaltflak for gjenbruk der dette er faglig og praktisk egnet. Det som etterspørres er en leveranse som samlet gir kommunen stabil tilgang til nødvendige masser, hensiktsmessig kapasitet og en løsning som støtter kommunens mål om kvalitet, effektiv ressursbruk og økt gjenbruk. Rammeavtale Anskaffelsen vil bli regulert av vedlagte rammeavtale, med tilhørende standardvilkår. Rammeavtalen har en varighet fra 19.12.2026 - 18.12.2028 med mulighet for oppdragsgiver til å forlenge rammeavtalen med ytterligere 1+1 år. Oppdragsgiver vil inngå parallelle avtaler med to eller flere leverandører, såfremt et tilstrekkelig antall kvalifiserte leverandører gir tilbud. Avrop skal foretas hos den rammeavtaleleverandør som har kortest transportavstand mellom oppgitt produksjonsanlegg og leveringssted. Transportavstanden beregnes som korteste kjørbare strekning på offentlig veinett ved bruk av Google maps. Transportavstander anses som tilnærmet like dersom differansen er mindre enn 5 km. Ved tilnærmet lik transportavstand skal den høyest rangerte leverandøren etter konkurransens tildeling benyttes. Dersom valgt leverandør dokumenterer manglende kapasitet, ikke kan levere innen etterspurt tidspunkt eller skriftlig begrunner andre forhold som gjør levering umulig, kan Oppdragsgiver rette forespørselen til neste leverandør i rangeringen. Oppdragsgiver garanterer ikke noe minimumsvolum til den enkelte leverandør.
- location_id:
1 results
- NO092
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 10000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- ACTIVE
- issueDate:
- 2026-10-09T12:10:38Z
- deadline:
- 2026-11-13T11:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2026-10-12
- placeOfPerformance:
- procurementStrategicLabels:
1 results
- ENVIRONMENT_PROCUREMENT
Will you use the result in generated code?
Is data missing or incorrect? Send feedback about this result.
Continue exploring
How an AI agent should use this page
Ground rule: Navigate with HTML GET links to keep explanations and relationships. Use the page's JSON alternative only when concrete values must be extracted, compared or computed.
How to use the search_doffin lookup
- Replace the placeholders in the HTML GET template; remove optional parameters you do not need.
- Check types, units, limits and ID formats in the parameter table.
- Follow linked results to canonical pages before combining sources.
Misreading to avoid: An empty list means "no results for this lookup". An error message or unavailable source does not mean the data does not exist.
Source-specific next step
- Follow the notice ID to the canonical page; use CPV and location codes to narrow broad free-text searches.
Go to the source page for other operations. Use the JSON template only after the HTML result shows that the parameters and source are correct.
AI agent? Read the complete navigation and programming guide.