search_doffin

Search Norwegian public procurement notices on Doffin.

Signature: search_doffin(query: string, optional, default ''; types: list of string (comma-separated), optional, default None; statuses: list of string (comma-separated), optional, default None; contract_nature: list of string (comma-separated), optional, default None; cpv_codes: list of string (comma-separated), optional, default None; locations: list of string (comma-separated), optional, default None; buyer: list of string (comma-separated), optional, default None; winner: list of string (comma-separated), optional, default None; date_from: string, optional, default None; date_to: string, optional, default None; sort_by: string, optional, default 'RELEVANCE'; page: integer, optional, default 1; hits_per_page: integer, optional, default 10; include_placeholders: yes/no, optional, default False; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)

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&page=1&hits_per_page=10&include_placeholders=false&limit=25&offset=0

Replace {query}, {types}, {statuses}, {contract_nature}, {cpv_codes}, {locations}, {buyer}, {winner}, {date_from}, {date_to}, {sort_by}, {page}, {hits_per_page}, {include_placeholders} with values. Remove unused optional parameters from the URL.

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&page=1&hits_per_page=10&include_placeholders=false&limit=25&offset=0. Open this exact request as JSON.

ParameterRequirementJSON typeDescription
queryoptionalstringFree-text search (Norwegian or English), e.g. "IT-drift", "snørydding", "rammeavtale konsulent". Start here.
typesoptionalunionFilter 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.
statusesoptionalunionACTIVE (open for bids), EXPIRED, AWARDED, CANCELLED.
contract_natureoptionalunionWORKS, SERVICES and/or SUPPLIES.
cpv_codesoptionalunion8-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.
locationsoptionalunionNUTS-style location ids, e.g. ["NO060"] (Trøndelag), or "anyw" for non-location-bound. See list_location_codes().
buyeroptionalunionBuyer 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.
winneroptionalunionDoffin's internal supplier id (32-hex). Winner names cannot be used - they are not present in search results to resolve against.
date_fromoptionalunionPublication date lower bound, "YYYY-MM-DD".
date_tooptionalunionPublication date upper bound, "YYYY-MM-DD".
sort_byoptionalstringRELEVANCE (default), PUBLICATION_DATE_DESC, PUBLICATION_DATE_ASC, DEADLINE, ESTIMATED_VALUE_ASC, ESTIMATED_VALUE_DESC.
pageoptionalinteger1-based page number.
hits_per_pageoptionalinteger1-50 (default 10).
include_placeholdersoptionalbooleanBy 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.
limitoptionalintegerGateway page size; default 25, maximum 100.
offsetoptionalintegerNumber 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&page=1&hits_per_page=10&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&page=1&hits_per_page=10&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&page=1&hits_per_page=10&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.

Type: string. Free-text search (Norwegian or English), e.g. "IT-drift", "snørydding", "rammeavtale konsulent". Start here.
Type: list of string (comma-separated). 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.
Type: list of string (comma-separated). ACTIVE (open for bids), EXPIRED, AWARDED, CANCELLED.
Type: list of string (comma-separated). WORKS, SERVICES and/or SUPPLIES.
Type: list of string (comma-separated). 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.
Type: list of string (comma-separated). NUTS-style location ids, e.g. ["NO060"] (Trøndelag), or "anyw" for non-location-bound. See list_location_codes().
Type: list of string (comma-separated). 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.
Type: list of string (comma-separated). Doffin's internal supplier id (32-hex). Winner names cannot be used - they are not present in search results to resolve against.
Type: string. Publication date lower bound, "YYYY-MM-DD".
Type: string. Publication date upper bound, "YYYY-MM-DD".
Type: string. RELEVANCE (default), PUBLICATION_DATE_DESC, PUBLICATION_DATE_ASC, DEADLINE, ESTIMATED_VALUE_ASC, ESTIMATED_VALUE_DESC.
Type: integer. 1-based page number.
Type: integer. 1-50 (default 10).
Type: yes/no. 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.

Result

Source: Doffin and TED. Retrieved 2026-09-24T18:10:25Z in 0.118 seconds.

total_count:
3
hits:

3 results

  1. id:
    2026-100336
    buyer:

    1 results

    1. id:
      e961fbee6b521f955732c683914890e9
      organization_id:
      971185589
      name:
      Oslo kommune v/ Vann- og avløpsetaten
    heading:
    Rammeavtale om reparasjon av veidekke
    description:
    Oslo kommune, v/Vann- og avløpsetaten (VAV) ønsker å inngå rammeavtale med entreprenør om reparasjon av veidekke og bærelag etter gravearbeider i kommunens vei - og gatenett. Rammeavtalen skal dekke VAVs avdeling vedlikehold og ledningsdrift (AVL) sitt behov.
    location_id:

    1 results

    1. NO081
    estimatedValue:
    currencyCode:
    NOK
    amount:
    120000000.0
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2026-01-07T07:39:57Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2026-01-08
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

  2. id:
    2026-109134
    buyer:

    1 results

    1. id:
      d22ffef375dcb75997bd9726acec1281
      organization_id:
      996922766
      name:
      Oslo kommune v/ Bymiljøetaten
    heading:
    2-BYM-2025 Rammeavtale for anleggsarbeid elektro
    description:
    Formålet med anskaffelsen er å inngå en Rammeavtale for kjøp av anleggsarbeid i forbindelse med elektroarbeider som kan omfatte hele Bymiljøetatens forvaltningsområde. Den elektrotekniske installasjon vil utføres på egne rammeavtaler/kontrakter. Rammeavtalen gir oppdragsgiveren rett til å kjøpe varer eller tjenester som er dekket av denne rammeavtalen. Oppdragsgiveren er ikke forpliktet til å kjøpe noen bestemt mengde varer eller tjenester i rammeavtaleperioden, og rammeavtalen er ikke eksklusiv. Rammeavtalen vil omfatte anleggsarbeid for elektrotekniske installasjoner innenfor vei og gate, byrom, parkområder, turveier, ved idrettsanlegg, rekreasjonsområder og andre offentlig og private arealer). Typiske elektrotekniske installasjoner er; trafikklys, strømuttak for arrangementer, ladestasjoner, belysning, p-automater og andre elektriske installasjoner. Dette innebærer graving, masseutskiftning, og tilbakefylling i gategrunn, grøfter, parker samt andre offentlige og private arealer. Dette vil typisk være etablering av trekkerør, kabelkanaler og fundamenter for elektrotekniske installasjoner, for eksempel plassering av prefabrikkerte fundamenter eller forskaling og støp for plasstøpte. Videre skal det også inngå reetablering av vei, fortau og grøntarealer i henhold til gjeldende standarder fra Oslo kommune. Ved enkelte tilfeller kan oppdraget også innbefatte endring av dagens geometri for å tilpasse det en mer moderne og annerledes bruk av arealet. Oppdragene kan også innebære midlertidige trafikkomlegginger, sikring av arbeidsområdet og ivaretagelse av HMS og ytre miljø. Leverandørene må også påregne koordinering mot tredje part (dette kan blant annet være netteier, andre entreprenører og/eller de oppdragsgiver ønsker å ta inn). Avrop gjennomføres basert på beskrivelse og mengdeoversikt i henhold til prisposter, nødvendige kart og skisser, med henvisning til Oslo kommunes normer og maler. Omfanget er beskrevet nærmere i kravspesifikasjonen. Det skal inngås en parallell rammeavtale med 2 leverandører. Leverandørene skal til enhver tid ha kapasitet til å gjennomføre minst tre samtidige avrop på rammeavtalen. Det er estimert et totalt behov på 100 millioner eks mva. norske kroner i rammeavtalen over en fireårsperiode. Oppdragsgiver gjør oppmerksom på at estimatet er basert på tidligere forbruk og forventet fremtidig behov. Behovet vil avhenge av politiske føringer og budsjettildelinger i perioden. Den maksimale verdi/omsetning for avtalen er 125 MNOK eks. mva. Det er utarbeidet en kravspesifikasjon (vedlegg 2.2) som beskriver nærmere hva denne rammeavtalen skal dekke. Eksempler på aktuelle avrop ligger i vedlegg 2.3 Eksempelprosjekter.
    location_id:

    1 results

    1. NO081
    estimatedValue:
    currencyCode:
    NOK
    amount:
    100000000.0
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2026-05-20T12:48:53Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2026-05-21
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

  3. id:
    2021-368948
    buyer:

    1 results

    1. id:
      8bc26d6da5ea8c30dd53e895b702a20a
      organization_id:
      972 418 013
      name:
      Bodø kommune
    heading:
    Byggeleder Elektroarbeider
    description:
    Bodø kommune (BK) skal bygge Konkurransebasseng Bodø Spektrum som omfatter både et nytt bygg med konkuransebasseng og relativt omfattende inngrep i eksisterende badeanlegg. Eksisterende anlegg og nytt anlegg vil framstå og driftes som ett anlegg når det er ferdig. Det er stort fokus på energisparing. Det utføres detaljprosjektering og gjennomføring planlegges som byggherrestyrte entrepriser. Det er også kontrahert ITB-koordinator. Samspillsentreprisene kan bli utlyst som utførelsesentrepriser dersom det ikke oppnås enighet om målsum etter endt prosjekteringsfase. Bodø kommunes ambisjoner i klima- og energiplan 2019-2031 skal ivaretas. Bygg skal ha passivhusnivå. Bygget skal BREEAM- sertifiseres til nivå Good. Leverte ytelser skal være dekkende for alle nødvendige byggeledertjenester for gjennomføring av elektroarbeidene.
    location_id:

    No results.

    estimatedValue:
    not reported by source
    type:
    ANNOUNCEMENT_OF_COMPETITION
    allTypes:

    2 results

    1. COMPETITION
    2. ANNOUNCEMENT_OF_COMPETITION
    status:
    EXPIRED
    issueDate:
    2021-01-08T10:00:00Z
    deadline:
    2021-02-09T10:00:00Z
    sentToTed:
    yes
    publicationDate:
    2021-01-08
    placeOfPerformance:

    No results.

    procurementStrategicLabels:

    No results.

limit:
25
offset:
0
returned:
3
has_more_results:
no
truncated:
no
Show all fields in HTML
total_count:
3
hits:

3 results

  1. id:
    2026-100336
    buyer:

    1 results

    1. id:
      e961fbee6b521f955732c683914890e9
      organization_id:
      971185589
      name:
      Oslo kommune v/ Vann- og avløpsetaten
    heading:
    Rammeavtale om reparasjon av veidekke
    description:
    Oslo kommune, v/Vann- og avløpsetaten (VAV) ønsker å inngå rammeavtale med entreprenør om reparasjon av veidekke og bærelag etter gravearbeider i kommunens vei - og gatenett. Rammeavtalen skal dekke VAVs avdeling vedlikehold og ledningsdrift (AVL) sitt behov.
    location_id:

    1 results

    1. NO081
    estimatedValue:
    currencyCode:
    NOK
    amount:
    120000000.0
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2026-01-07T07:39:57Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2026-01-08
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

  2. id:
    2026-109134
    buyer:

    1 results

    1. id:
      d22ffef375dcb75997bd9726acec1281
      organization_id:
      996922766
      name:
      Oslo kommune v/ Bymiljøetaten
    heading:
    2-BYM-2025 Rammeavtale for anleggsarbeid elektro
    description:
    Formålet med anskaffelsen er å inngå en Rammeavtale for kjøp av anleggsarbeid i forbindelse med elektroarbeider som kan omfatte hele Bymiljøetatens forvaltningsområde. Den elektrotekniske installasjon vil utføres på egne rammeavtaler/kontrakter. Rammeavtalen gir oppdragsgiveren rett til å kjøpe varer eller tjenester som er dekket av denne rammeavtalen. Oppdragsgiveren er ikke forpliktet til å kjøpe noen bestemt mengde varer eller tjenester i rammeavtaleperioden, og rammeavtalen er ikke eksklusiv. Rammeavtalen vil omfatte anleggsarbeid for elektrotekniske installasjoner innenfor vei og gate, byrom, parkområder, turveier, ved idrettsanlegg, rekreasjonsområder og andre offentlig og private arealer). Typiske elektrotekniske installasjoner er; trafikklys, strømuttak for arrangementer, ladestasjoner, belysning, p-automater og andre elektriske installasjoner. Dette innebærer graving, masseutskiftning, og tilbakefylling i gategrunn, grøfter, parker samt andre offentlige og private arealer. Dette vil typisk være etablering av trekkerør, kabelkanaler og fundamenter for elektrotekniske installasjoner, for eksempel plassering av prefabrikkerte fundamenter eller forskaling og støp for plasstøpte. Videre skal det også inngå reetablering av vei, fortau og grøntarealer i henhold til gjeldende standarder fra Oslo kommune. Ved enkelte tilfeller kan oppdraget også innbefatte endring av dagens geometri for å tilpasse det en mer moderne og annerledes bruk av arealet. Oppdragene kan også innebære midlertidige trafikkomlegginger, sikring av arbeidsområdet og ivaretagelse av HMS og ytre miljø. Leverandørene må også påregne koordinering mot tredje part (dette kan blant annet være netteier, andre entreprenører og/eller de oppdragsgiver ønsker å ta inn). Avrop gjennomføres basert på beskrivelse og mengdeoversikt i henhold til prisposter, nødvendige kart og skisser, med henvisning til Oslo kommunes normer og maler. Omfanget er beskrevet nærmere i kravspesifikasjonen. Det skal inngås en parallell rammeavtale med 2 leverandører. Leverandørene skal til enhver tid ha kapasitet til å gjennomføre minst tre samtidige avrop på rammeavtalen. Det er estimert et totalt behov på 100 millioner eks mva. norske kroner i rammeavtalen over en fireårsperiode. Oppdragsgiver gjør oppmerksom på at estimatet er basert på tidligere forbruk og forventet fremtidig behov. Behovet vil avhenge av politiske føringer og budsjettildelinger i perioden. Den maksimale verdi/omsetning for avtalen er 125 MNOK eks. mva. Det er utarbeidet en kravspesifikasjon (vedlegg 2.2) som beskriver nærmere hva denne rammeavtalen skal dekke. Eksempler på aktuelle avrop ligger i vedlegg 2.3 Eksempelprosjekter.
    location_id:

    1 results

    1. NO081
    estimatedValue:
    currencyCode:
    NOK
    amount:
    100000000.0
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2026-05-20T12:48:53Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2026-05-21
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

  3. id:
    2021-368948
    buyer:

    1 results

    1. id:
      8bc26d6da5ea8c30dd53e895b702a20a
      organization_id:
      972 418 013
      name:
      Bodø kommune
    heading:
    Byggeleder Elektroarbeider
    description:
    Bodø kommune (BK) skal bygge Konkurransebasseng Bodø Spektrum som omfatter både et nytt bygg med konkuransebasseng og relativt omfattende inngrep i eksisterende badeanlegg. Eksisterende anlegg og nytt anlegg vil framstå og driftes som ett anlegg når det er ferdig. Det er stort fokus på energisparing. Det utføres detaljprosjektering og gjennomføring planlegges som byggherrestyrte entrepriser. Det er også kontrahert ITB-koordinator. Samspillsentreprisene kan bli utlyst som utførelsesentrepriser dersom det ikke oppnås enighet om målsum etter endt prosjekteringsfase. Bodø kommunes ambisjoner i klima- og energiplan 2019-2031 skal ivaretas. Bygg skal ha passivhusnivå. Bygget skal BREEAM- sertifiseres til nivå Good. Leverte ytelser skal være dekkende for alle nødvendige byggeledertjenester for gjennomføring av elektroarbeidene.
    location_id:

    No results.

    estimatedValue:
    not reported by source
    type:
    ANNOUNCEMENT_OF_COMPETITION
    allTypes:

    2 results

    1. COMPETITION
    2. ANNOUNCEMENT_OF_COMPETITION
    status:
    EXPIRED
    issueDate:
    2021-01-08T10:00:00Z
    deadline:
    2021-02-09T10:00:00Z
    sentToTed:
    yes
    publicationDate:
    2021-01-08
    placeOfPerformance:

    No results.

    procurementStrategicLabels:

    No results.

limit:
25
offset:
0
returned:
3
has_more_results:
no
truncated:
no
Will you use the result in generated code?

Open the same result as JSON

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

  1. Replace the placeholders in the HTML GET template; remove optional parameters you do not need.
  2. Check types, units, limits and ID formats in the parameter table.
  3. 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

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.