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-11-01T07:25:37Z in 0.152 seconds.

total_count:
2
hits:

2 results

  1. id:
    2025-117928
    buyer:

    12 results

    1. id:
      1cdc8da54df781903743c085b61c5b1c
      organization_id:
      960479777
      name:
      Stiftelsen Tradebroker
    2. id:
      3e6cca67e0586c20567c6349931f6b2e
      organization_id:
      984661177
      name:
      Vygruppen AS
    3. id:
      8564d8e11208e2c2735cd493bd322e83
      organization_id:
      979151950
      name:
      Arva AS
    4. id:
      09dcc20a5cab8b74ee8bf3d470f383a2
      organization_id:
      922828172
      name:
      Tensio AS
    5. id:
      7b68d10dff0370e1497dc0cc4d46d0fb
      organization_id:
      962986633
      name:
      Statnett SF
    6. id:
      be8086bf6395e347ff2844d878e78397
      organization_id:
      915070434
      name:
      Sporveien AS
    7. id:
      61aac3561a806497b716aaad7ed35e1b
      organization_id:
      980495302
      name:
      Skagerak Energi AS
    8. id:
      3bcf7ede2a525c1fbca5060d213496ea
      organization_id:
      984661185
      name:
      Posten Bring AS
    9. id:
      6c93713bfbab6d32a3e3ced0c8cb3699
      organization_id:
      980001482
      name:
      Lyse AS
    10. id:
      5b7e2396641072eff817f5f4f5432b1a
      organization_id:
      917422575
      name:
      Entur AS
    11. id:
      ece64cbed397d681fa0c3dc1293061a8
      organization_id:
      917082308
      name:
      Bane NOR SF
    12. id:
      a17f0c4d9b21ae6f264d342bcf640d49
      organization_id:
      985198292
      name:
      Avinor AS
    heading:
    Kjøp av briller og synsundersøkelser
    description:
    Tradebroker vil på vegne av sine medlemsbedrifter inngå rammeavtale med en leverandører for levering av briller og vernebriller med styrke, samt synsundersøkelser og andre nødvendige produkter. Ytterligere beskrivelse finnes i konkurransegrunnlaget.
    location_id:

    14 results

    1. NO020
    2. NO085
    3. NO073
    4. NO094
    5. NO083
    6. NO072
    7. NO093
    8. NO071
    9. NO060
    10. NO092
    11. NO081
    12. NO0A3
    13. NO0A2
    14. NO0A1
    estimatedValue:
    currencyCode:
    NOK
    amount:
    68000000.0
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2025-11-24T09:08:45Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2025-11-25
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

  2. id:
    2025-104896
    buyer:

    13 results

    1. id:
      c525d33fad6d5082b75f6da7c59ef5bb
      organization_id:
      964338531
      name:
      Bergen kommune - Innkjøp konsern
    2. id:
      97797bf3f40c5baebc42a84a66b4433f
      organization_id:
      964 338 442
      name:
      Askøy kommune
    3. id:
      258b09ae986da19875d83c42b804a18d
      organization_id:
      941 139 787
      name:
      Austevoll kommune
    4. id:
      1a2b3f5ccaae95730efa64383f5357f3
      organization_id:
      844 458 312
      name:
      Bjørnafjorden kommune (inkludert Oseana kunst og kultursenter KF og Os Idrettspark KF)
    5. id:
      12d6a2c7765ed6295fc9d3015af22be5
      organization_id:
      964 969 302
      name:
      Modalen kommune
    6. id:
      b932195c9b0c4c3f56f343f591a9b8ef
      organization_id:
      961 821 967
      name:
      Vaksdal kommune
    7. id:
      1557c26e4d626fdfaa452b2b4f591fc7
      organization_id:
      922 530 890
      name:
      Øygarden kommune
    8. id:
      03880db3b55cf21a26d176793d1475b5
      organization_id:
      983 948 332
      name:
      Adventistkirkens sykehjem
    9. id:
      4cedff4e77901ba6d992033cca33df4c
      organization_id:
      968 349 627
      name:
      Betanien rehabilitering og sykehjem
    10. id:
      641f35f2a07bbd39e0d65285fa2fb060
      organization_id:
      921 577 605
      name:
      Siljuslåtten (Haraldsplass Diakonale Stiftelse)
    11. id:
      55cdba27b0f3798eda7419c51617f2b8
      organization_id:
      959 320 780
      name:
      Stiftelsen Slettebakken Menighets Eldresenter
    12. id:
      01ac4b0139e166a08df2444f363f06df
      organization_id:
      971 472 345
      name:
      Stiftelsen St. Johanneshjemmet
    13. id:
      7bd21e45238a90ca598aef6d4d0e8ae9
      organization_id:
      976 994 434
      name:
      Bergen Kirkelige Fellesråd
    heading:
    IK-EØS 077-2024 Databriller og synsundersøkelser til Bergen kommune og samarbeidsparter
    description:
    Rammeavtalen for databriller og utførelse av synsundersøkelser.
    location_id:

    1 results

    1. NO0A2
    estimatedValue:
    not reported by source
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2025-03-26T14:09:31Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2025-03-28
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

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

2 results

  1. id:
    2025-117928
    buyer:

    12 results

    1. id:
      1cdc8da54df781903743c085b61c5b1c
      organization_id:
      960479777
      name:
      Stiftelsen Tradebroker
    2. id:
      3e6cca67e0586c20567c6349931f6b2e
      organization_id:
      984661177
      name:
      Vygruppen AS
    3. id:
      8564d8e11208e2c2735cd493bd322e83
      organization_id:
      979151950
      name:
      Arva AS
    4. id:
      09dcc20a5cab8b74ee8bf3d470f383a2
      organization_id:
      922828172
      name:
      Tensio AS
    5. id:
      7b68d10dff0370e1497dc0cc4d46d0fb
      organization_id:
      962986633
      name:
      Statnett SF
    6. id:
      be8086bf6395e347ff2844d878e78397
      organization_id:
      915070434
      name:
      Sporveien AS
    7. id:
      61aac3561a806497b716aaad7ed35e1b
      organization_id:
      980495302
      name:
      Skagerak Energi AS
    8. id:
      3bcf7ede2a525c1fbca5060d213496ea
      organization_id:
      984661185
      name:
      Posten Bring AS
    9. id:
      6c93713bfbab6d32a3e3ced0c8cb3699
      organization_id:
      980001482
      name:
      Lyse AS
    10. id:
      5b7e2396641072eff817f5f4f5432b1a
      organization_id:
      917422575
      name:
      Entur AS
    11. id:
      ece64cbed397d681fa0c3dc1293061a8
      organization_id:
      917082308
      name:
      Bane NOR SF
    12. id:
      a17f0c4d9b21ae6f264d342bcf640d49
      organization_id:
      985198292
      name:
      Avinor AS
    heading:
    Kjøp av briller og synsundersøkelser
    description:
    Tradebroker vil på vegne av sine medlemsbedrifter inngå rammeavtale med en leverandører for levering av briller og vernebriller med styrke, samt synsundersøkelser og andre nødvendige produkter. Ytterligere beskrivelse finnes i konkurransegrunnlaget.
    location_id:

    14 results

    1. NO020
    2. NO085
    3. NO073
    4. NO094
    5. NO083
    6. NO072
    7. NO093
    8. NO071
    9. NO060
    10. NO092
    11. NO081
    12. NO0A3
    13. NO0A2
    14. NO0A1
    estimatedValue:
    currencyCode:
    NOK
    amount:
    68000000.0
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2025-11-24T09:08:45Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2025-11-25
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

  2. id:
    2025-104896
    buyer:

    13 results

    1. id:
      c525d33fad6d5082b75f6da7c59ef5bb
      organization_id:
      964338531
      name:
      Bergen kommune - Innkjøp konsern
    2. id:
      97797bf3f40c5baebc42a84a66b4433f
      organization_id:
      964 338 442
      name:
      Askøy kommune
    3. id:
      258b09ae986da19875d83c42b804a18d
      organization_id:
      941 139 787
      name:
      Austevoll kommune
    4. id:
      1a2b3f5ccaae95730efa64383f5357f3
      organization_id:
      844 458 312
      name:
      Bjørnafjorden kommune (inkludert Oseana kunst og kultursenter KF og Os Idrettspark KF)
    5. id:
      12d6a2c7765ed6295fc9d3015af22be5
      organization_id:
      964 969 302
      name:
      Modalen kommune
    6. id:
      b932195c9b0c4c3f56f343f591a9b8ef
      organization_id:
      961 821 967
      name:
      Vaksdal kommune
    7. id:
      1557c26e4d626fdfaa452b2b4f591fc7
      organization_id:
      922 530 890
      name:
      Øygarden kommune
    8. id:
      03880db3b55cf21a26d176793d1475b5
      organization_id:
      983 948 332
      name:
      Adventistkirkens sykehjem
    9. id:
      4cedff4e77901ba6d992033cca33df4c
      organization_id:
      968 349 627
      name:
      Betanien rehabilitering og sykehjem
    10. id:
      641f35f2a07bbd39e0d65285fa2fb060
      organization_id:
      921 577 605
      name:
      Siljuslåtten (Haraldsplass Diakonale Stiftelse)
    11. id:
      55cdba27b0f3798eda7419c51617f2b8
      organization_id:
      959 320 780
      name:
      Stiftelsen Slettebakken Menighets Eldresenter
    12. id:
      01ac4b0139e166a08df2444f363f06df
      organization_id:
      971 472 345
      name:
      Stiftelsen St. Johanneshjemmet
    13. id:
      7bd21e45238a90ca598aef6d4d0e8ae9
      organization_id:
      976 994 434
      name:
      Bergen Kirkelige Fellesråd
    heading:
    IK-EØS 077-2024 Databriller og synsundersøkelser til Bergen kommune og samarbeidsparter
    description:
    Rammeavtalen for databriller og utførelse av synsundersøkelser.
    location_id:

    1 results

    1. NO0A2
    estimatedValue:
    not reported by source
    type:
    ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    allTypes:

    2 results

    1. ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT
    2. RESULT
    status:
    not reported by source
    issueDate:
    2025-03-26T14:09:31Z
    deadline:
    not reported by source
    sentToTed:
    yes
    publicationDate:
    2025-03-28
    placeOfPerformance:
    procurementStrategicLabels:

    No results.

limit:
25
offset:
0
returned:
2
has_more_results:
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.