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&page=1&hits_per_page=10&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&page=1&hits_per_page=10&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. |
page | optional | integer | 1-based page number. |
hits_per_page | optional | integer | 1-50 (default 10). |
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&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.
Result
- total_count:
- 6
- hits:
6 results
- id:
- 2026-102497
- buyer:
1 results
- id:
- 60806d385e03f47fee77aea6847d64b8
- organization_id:
- 964965137
- name:
- Sandnes kommune
- heading:
- Rammeavtale - Lekeplassutstyr, treningsparkutstyr og tilhørende anleggstjenester
- description:
- Oppdragsgiver har behov for å inngå rammeavtale på totalentreprisekontrakt på lekeplassutstyr, treningsparkutstyr, etablering av lekeplasser og treningsparker, samt tilhørende anleggstjenester. I oppdragene som ønskes utført skal leverandør blant annet ta ansvar for, og i stor grad bidra til, å finne gode løsninger. Oppdragsgiver vil ha en blanding av gjennomføringsmodeller for avropene. I noen avrop vil leverandørs leveranse i stor grad være levering av lekeplassutstyr og treningsparkutstyr med tilhørende deler, der Oppdragsgiver monterer disse i egenregi samt gjør mindre opparbeidelser på lekeplassene og treningsparkene. I andre avrop skal gjennomføringen være totalentrepriser hvor leverandør leverer og monterer lekeplassutstyr og treningsparkutstyr, og opparbeider lekeplasser og treningsparker. Noen oppdrag vil kun bestå av anleggsgartnertjenester. Oppdragene som gjennomføres i egenregi vil stort sett bestå av utskiftning av enkeltapparater, samt mindre oppgraderinger og vedlikehold. Avropene varierer i størrelse og det må forventes mellom 40 og 150 avrop i løpet av et år. Avtalen brukes erfaringsmessig i hovedsak til avrop under kr. 2.000.000 eks. mva., men avrop større enn dette kan forekomme. Avtalens geografiske virkeområde skal være Sandnes kommune. Rammeavtalen skal omfatte et bredt spekter av anleggstjenester, med blant annet innhold av følgende: - Nyetablering av lekeplasser og treningsparker - Rehabilitering av lekeplasser og treningsparker - Montering og etablering av lekeplassutstyr og treningsparkutstyr - Reparasjoner og vedlikehold av lekeplassutstyr og treningsparkutstyr - Vedlikehold på lekeplasser og friområder - Garantivedlikehold på beplantning, 3 år fra ferdigstilling Fremdrift: I henhold til omforent fremdriftsplan for hvert avrop.
- location_id:
1 results
- NO0A1
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 100000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2026-02-03T17:57:53Z
- deadline:
- 2026-03-09T11:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2026-02-05
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2026-102496
- buyer:
2 results
- id:
- 60806d385e03f47fee77aea6847d64b8
- organization_id:
- 964965137
- name:
- Sandnes kommune
- id:
- e40e5398836139e6ab37373db288b28f
- organization_id:
- 948243113
- name:
- Sola kommune
- heading:
- Rammeavtale - Lekeplassutstyr og treningsparkutstyr
- description:
- Oppdragsgiver har behov for å inngå en rammeavtale på lekeplassutstyr og treningsparkutstyr, samt annet i leverandørs sortiment som naturlig hører til aktivitetsparker. Konkurransen gjennomføres som et samarbeid og det opprettes to (2) kontraktsforhold, et for Sandnes kommune og et for Sola kommune.
- location_id:
1 results
- anyw
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 22000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2026-02-03T16:02:23Z
- deadline:
- 2026-03-09T11:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2026-02-05
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2025-102742
- buyer:
1 results
- id:
- 60806d385e03f47fee77aea6847d64b8
- organization_id:
- 964 965 137
- name:
- Sandnes kommune
- heading:
- Øglendkvartalet opparbeidelse o_G2
- description:
- Opparbeidelse av gatetun o_G2 iht. reguleringsplan 1108_2013104 i Sandnes sentrum. Grunnarbeider er tidligere utført, og midlertidig asfaltert. Oppdraget omfatter riving av eksisterende asfalt og opparbeidelse av gatetunet iht. godkjente tekniske planer. Det skal i tillegg utføres mindre utbedringer på tilstøtende torg.
- location_id:
1 results
- NO0A1
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 6000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2025-02-24T06:18:35Z
- deadline:
- 2025-03-28T11:00:00Z
- sentToTed:
- no
- publicationDate:
- 2025-02-25
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2024-107237
- buyer:
1 results
- id:
- a916efabd39033c78b8002b322247566
- organization_id:
- 938801363
- name:
- Sarpsborg kommune
- heading:
- Oppgradering av skolegård - Borgen barneskole
- description:
- Borgen skole har behov for oppgradering av deler av uteområdet. Her ønsker de gode, kreative løsninger.
- location_id:
4 results
- NO085
- NO084
- NO083
- NO082
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 1600000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2024-05-15T15:36:21Z
- deadline:
- 2024-06-14T08:00:58Z
- sentToTed:
- no
- publicationDate:
- 2024-05-16
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2019-350040
- buyer:
1 results
- id:
- 0b2f10c7359dda4532f96e2055f8f8af
- organization_id:
- 969 159 570
- name:
- Norges miljø- og biovitenskapelige universitet
- heading:
- Rammeavtale Utemøbler NMBU-Parken
- description:
- Formålet med anskaffelsen er å få en helhetlig og kvalitetsmessig møblering på Campus Ås, som spiller på lag med den eksisterende møbleringen (Dette gjelder ikke de historiske benkene i den historiske parken, kun nyere møblering). Møblene skal være slitesterke og tåle norsk klima. Møbleringen skal være komfortabel og brukervennlig og gjøre parken attraktivt for opphold. Produsenten må kunne levere ulike møbler til utendørsbruk, som stoler, bord, benker og avfallsbeholdere.
- location_id:
No results.
- 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:
- 2019-09-06T10:00:00Z
- deadline:
- not reported by source
- sentToTed:
- yes
- publicationDate:
- 2019-09-06
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- id:
- 2019-322882
- buyer:
1 results
- id:
- 0b2f10c7359dda4532f96e2055f8f8af
- organization_id:
- 969 159 570
- name:
- Norges miljø- og biovitenskapelige universitet
- heading:
- Rammeavtale Utemøbler NMBU-Parken
- description:
- Formålet med anskaffelsen er å få en helhetlig og kvalitetsmessig møblering på Campus Ås, som spiller på lag med den eksisterende møbleringen (Dette gjelder ikke de historiske benkene i den historiske parken, kun nyere møblering). Møblene skal være slitesterke og tåle norsk klima. Møbleringen skal være komfortabel og brukervennlig og gjøre parken attraktivt for opphold. Produsenten må kunne levere ulike møbler til utendørsbruk, som stoler, bord, benker og avfallsbeholdere.
- location_id:
No results.
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 1500000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2019-06-25T10:00:00Z
- deadline:
- 2019-08-21T10:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2019-06-25
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- limit:
- 25
- offset:
- 0
- returned:
- 6
- has_more_results:
- no
- truncated:
- no
Show all fields in HTML
- total_count:
- 6
- hits:
6 results
- id:
- 2026-102497
- buyer:
1 results
- id:
- 60806d385e03f47fee77aea6847d64b8
- organization_id:
- 964965137
- name:
- Sandnes kommune
- heading:
- Rammeavtale - Lekeplassutstyr, treningsparkutstyr og tilhørende anleggstjenester
- description:
- Oppdragsgiver har behov for å inngå rammeavtale på totalentreprisekontrakt på lekeplassutstyr, treningsparkutstyr, etablering av lekeplasser og treningsparker, samt tilhørende anleggstjenester. I oppdragene som ønskes utført skal leverandør blant annet ta ansvar for, og i stor grad bidra til, å finne gode løsninger. Oppdragsgiver vil ha en blanding av gjennomføringsmodeller for avropene. I noen avrop vil leverandørs leveranse i stor grad være levering av lekeplassutstyr og treningsparkutstyr med tilhørende deler, der Oppdragsgiver monterer disse i egenregi samt gjør mindre opparbeidelser på lekeplassene og treningsparkene. I andre avrop skal gjennomføringen være totalentrepriser hvor leverandør leverer og monterer lekeplassutstyr og treningsparkutstyr, og opparbeider lekeplasser og treningsparker. Noen oppdrag vil kun bestå av anleggsgartnertjenester. Oppdragene som gjennomføres i egenregi vil stort sett bestå av utskiftning av enkeltapparater, samt mindre oppgraderinger og vedlikehold. Avropene varierer i størrelse og det må forventes mellom 40 og 150 avrop i løpet av et år. Avtalen brukes erfaringsmessig i hovedsak til avrop under kr. 2.000.000 eks. mva., men avrop større enn dette kan forekomme. Avtalens geografiske virkeområde skal være Sandnes kommune. Rammeavtalen skal omfatte et bredt spekter av anleggstjenester, med blant annet innhold av følgende: - Nyetablering av lekeplasser og treningsparker - Rehabilitering av lekeplasser og treningsparker - Montering og etablering av lekeplassutstyr og treningsparkutstyr - Reparasjoner og vedlikehold av lekeplassutstyr og treningsparkutstyr - Vedlikehold på lekeplasser og friområder - Garantivedlikehold på beplantning, 3 år fra ferdigstilling Fremdrift: I henhold til omforent fremdriftsplan for hvert avrop.
- location_id:
1 results
- NO0A1
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 100000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2026-02-03T17:57:53Z
- deadline:
- 2026-03-09T11:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2026-02-05
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2026-102496
- buyer:
2 results
- id:
- 60806d385e03f47fee77aea6847d64b8
- organization_id:
- 964965137
- name:
- Sandnes kommune
- id:
- e40e5398836139e6ab37373db288b28f
- organization_id:
- 948243113
- name:
- Sola kommune
- heading:
- Rammeavtale - Lekeplassutstyr og treningsparkutstyr
- description:
- Oppdragsgiver har behov for å inngå en rammeavtale på lekeplassutstyr og treningsparkutstyr, samt annet i leverandørs sortiment som naturlig hører til aktivitetsparker. Konkurransen gjennomføres som et samarbeid og det opprettes to (2) kontraktsforhold, et for Sandnes kommune og et for Sola kommune.
- location_id:
1 results
- anyw
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 22000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2026-02-03T16:02:23Z
- deadline:
- 2026-03-09T11:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2026-02-05
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2025-102742
- buyer:
1 results
- id:
- 60806d385e03f47fee77aea6847d64b8
- organization_id:
- 964 965 137
- name:
- Sandnes kommune
- heading:
- Øglendkvartalet opparbeidelse o_G2
- description:
- Opparbeidelse av gatetun o_G2 iht. reguleringsplan 1108_2013104 i Sandnes sentrum. Grunnarbeider er tidligere utført, og midlertidig asfaltert. Oppdraget omfatter riving av eksisterende asfalt og opparbeidelse av gatetunet iht. godkjente tekniske planer. Det skal i tillegg utføres mindre utbedringer på tilstøtende torg.
- location_id:
1 results
- NO0A1
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 6000000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2025-02-24T06:18:35Z
- deadline:
- 2025-03-28T11:00:00Z
- sentToTed:
- no
- publicationDate:
- 2025-02-25
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2024-107237
- buyer:
1 results
- id:
- a916efabd39033c78b8002b322247566
- organization_id:
- 938801363
- name:
- Sarpsborg kommune
- heading:
- Oppgradering av skolegård - Borgen barneskole
- description:
- Borgen skole har behov for oppgradering av deler av uteområdet. Her ønsker de gode, kreative løsninger.
- location_id:
4 results
- NO085
- NO084
- NO083
- NO082
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 1600000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2024-05-15T15:36:21Z
- deadline:
- 2024-06-14T08:00:58Z
- sentToTed:
- no
- publicationDate:
- 2024-05-16
- placeOfPerformance:
- procurementStrategicLabels:
No results.
- id:
- 2019-350040
- buyer:
1 results
- id:
- 0b2f10c7359dda4532f96e2055f8f8af
- organization_id:
- 969 159 570
- name:
- Norges miljø- og biovitenskapelige universitet
- heading:
- Rammeavtale Utemøbler NMBU-Parken
- description:
- Formålet med anskaffelsen er å få en helhetlig og kvalitetsmessig møblering på Campus Ås, som spiller på lag med den eksisterende møbleringen (Dette gjelder ikke de historiske benkene i den historiske parken, kun nyere møblering). Møblene skal være slitesterke og tåle norsk klima. Møbleringen skal være komfortabel og brukervennlig og gjøre parken attraktivt for opphold. Produsenten må kunne levere ulike møbler til utendørsbruk, som stoler, bord, benker og avfallsbeholdere.
- location_id:
No results.
- 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:
- 2019-09-06T10:00:00Z
- deadline:
- not reported by source
- sentToTed:
- yes
- publicationDate:
- 2019-09-06
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- id:
- 2019-322882
- buyer:
1 results
- id:
- 0b2f10c7359dda4532f96e2055f8f8af
- organization_id:
- 969 159 570
- name:
- Norges miljø- og biovitenskapelige universitet
- heading:
- Rammeavtale Utemøbler NMBU-Parken
- description:
- Formålet med anskaffelsen er å få en helhetlig og kvalitetsmessig møblering på Campus Ås, som spiller på lag med den eksisterende møbleringen (Dette gjelder ikke de historiske benkene i den historiske parken, kun nyere møblering). Møblene skal være slitesterke og tåle norsk klima. Møbleringen skal være komfortabel og brukervennlig og gjøre parken attraktivt for opphold. Produsenten må kunne levere ulike møbler til utendørsbruk, som stoler, bord, benker og avfallsbeholdere.
- location_id:
No results.
- estimatedValue:
- currencyCode:
- NOK
- amount:
- 1500000.0
- type:
- ANNOUNCEMENT_OF_COMPETITION
- allTypes:
2 results
- COMPETITION
- ANNOUNCEMENT_OF_COMPETITION
- status:
- EXPIRED
- issueDate:
- 2019-06-25T10:00:00Z
- deadline:
- 2019-08-21T10:00:00Z
- sentToTed:
- yes
- publicationDate:
- 2019-06-25
- placeOfPerformance:
No results.
- procurementStrategicLabels:
No results.
- limit:
- 25
- offset:
- 0
- returned:
- 6
- has_more_results:
- no
- truncated:
- no
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.