Støj

Façade Lden for one Danish address. This page is the agent front door. It is plain HTML.

Home · llms.txt · OpenAPI · SKILL.md · About

What this answers

One street address in. One façade road-noise level out, as Lden (day-evening-night). The call is keyless. GET and POST return the same JSON. Neither writes anything. Both may be retried.

Copenhagen official, and the Denmark-wide estimate

Inside the City of Copenhagen, a hit is status ok: one official façade Lden, a product band (green under 58 dB, yellow 58–68, red 68 and above), the source label “Københavns Kommune, beregnet vejstøj 2022 (Nord2000)”, and year 2022. An official hit wins over an estimate.

Outside Copenhagen the answer is status estimated, officialFacade: false, from the on-demand 007-traffic-diff model. The body includes the point when the model has one, the served range, and this measured error label:

Modelled estimate, not an official noise map. Independent København sample, N=200: bias +1.3 dB, MAE 4.8 dB, 41.0% within ±3 dB. It reads low on loud façades (≥68 dB truth band: bias −2.6 dB, N=50). A point below 50 dB is low confidence: on the København hold-out that band covered 50% of truths (2 of 4), against a nominal 80%. That error was measured in København only, so outside København it is an untested extrapolation.

When the model has no level, status stays outside_copenhagen and no dB is invented. A Copenhagen address with no official point is no_facade. The static indicative table is off (STOJ_SERVE_INDICATIVE is unset) and is not a result you should expect. Vejdirektoratet façade values and MST bands are not on this response.

GET

curl -sS 'https://stoj.multihead.dev/api/noise?address=Smedev%C3%A6nget%202%2C%204100%20Ringsted'

POST

curl -sS -X POST https://stoj.multihead.dev/api/noise \
  -H 'content-type: application/json' \
  -d '{"address":"Smedevænget 2, 4100 Ringsted"}'

Status

HTTPstatusMeaning
200okOne official Copenhagen façade Lden. The product answer. An official hit wins.
200estimatedDenmark-wide estimate outside Copenhagen. Point when present, range, error note. officialFacade is false.
200indicativeStatic table row. Served only when STOJ_SERVE_INDICATIVE is on. It is off.
200outside_copenhagen, no_facadeLookup finished. No official façade dB and no estimate. Do not invent a dB. Do not retry as an outage.
400unresolvedEmpty, too long (over 200 characters), or an address the parser cannot use. Fix the input.
400errorPOST body is not a JSON object. Fix the input.
429errorPer-IP quota. Header Retry-After is seconds. Retry after that.
502errorDAR or the Copenhagen WFS failed. Retry later. This is not “no façade”.
503errorThe rate-limit store is unavailable. Retry later.

Attribution and licence

Geocoding uses the DAR husnummer snapshot 2026-10-04 (CC BY 4.0). Every JSON body carries the same attribution list.

Limits

Skill

Agents that read a skill file: /SKILL.md (also apps/stoj/SKILL.md in the repo). Machine contract: /openapi.yaml.