{"source":"nyheter","operation":"search_news","description":"Search geolocated Norwegian news and police events. Signature: search_news(query: string, optional, default None; since: string, optional, default None; until: string, optional, default None; kind: string, optional, default None; lat: decimal number, decimal degrees (WGS84), optional, default None; lon: decimal number, decimal degrees (WGS84), optional, default None; radius_km: decimal number, kilometres, optional, default 25; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"search_news(query: string, optional, default None; since: string, optional, default None; until: string, optional, default None; kind: string, optional, default None; lat: decimal number, decimal degrees (WGS84), optional, default None; lon: decimal number, decimal degrees (WGS84), optional, default None; radius_km: decimal number, kilometres, optional, default 25; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"query","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Free-text term matched case-insensitively against each event's name, summary and location (client-side; the API has no text search). E.g. \"brann\", \"Bergen\", \"trafikkulykke\".","unit":null},{"name":"since","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"ISO 8601 UTC lower bound on when the event was seen, e.g. \"2026-07-10T00:00:00Z\". Default: 24 hours ago.","unit":null},{"name":"until","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"ISO 8601 UTC upper bound. Default: open-ended.","unit":null},{"name":"kind","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"\"news\" for news media only, \"police\" for police log (politiloggen) entries only. Default: both.","unit":null},{"name":"lat","type":"number","schema":{"anyOf":[{"type":"number"},{"type":"null"}]},"required":false,"default":null,"description":"Centre latitude (WGS84) for an area search. Give lat and lon together to only return events within radius_km of the point. Unit: decimal degrees (WGS84).","unit":"decimal degrees (WGS84)"},{"name":"lon","type":"number","schema":{"anyOf":[{"type":"number"},{"type":"null"}]},"required":false,"default":null,"description":"Centre longitude (WGS84). Unit: decimal degrees (WGS84).","unit":"decimal degrees (WGS84)"},{"name":"radius_km","type":"number","schema":{"type":"number"},"required":false,"default":25,"description":"Search radius in km around lat/lon (default 25). Unit: kilometres.","unit":"kilometres"},{"name":"limit","type":"integer","schema":{"type":"integer"},"required":false,"default":25,"description":"Max events to return, 1 to 100 (default 25). Unit: items.","unit":"items"},{"name":"offset","type":"integer","schema":{"type":"integer"},"required":false,"default":0,"description":"Skip this many matching events (for pagination). Unit: items.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter/search_news?query={query}&since={since}&until={until}&kind={kind}&lat={lat}&lon={lon}&radius_km=25&limit=25&offset=0","schema_scope":"#/data in the successful operation envelope","response_schema":{"type":"object","properties":{"since":{"type":["string","null"],"format":"date-time"},"until":{"type":["string","null"],"format":"date-time"},"total":{"type":["integer","null"]},"matched":{"type":"integer"},"offset":{"type":"integer"},"count":{"type":"integer"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":["string","null"]},"lat":{"type":["number","null"]},"lon":{"type":["number","null"]},"source":{"type":["string","null"]},"summary":{"type":["string","null"]},"location":{"type":["string","null"]},"link":{"type":["string","null"],"format":"uri"},"severity":{"type":["string","null"]},"tags":{"type":["array","null"],"items":{"type":"string"}},"is_active":{"type":["boolean","null"]},"pub_date":{"type":["string","null"],"format":"date-time"},"first_seen":{"type":["string","null"],"format":"date-time"},"last_seen":{"type":["string","null"],"format":"date-time"}},"additionalProperties":false}}},"additionalProperties":false,"required":["matched","offset","count","items"]},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["news_event","place"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"error_contract":{"scope":"top-level HTTP error response; never part of a success payload","schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"details":{"type":"object"}},"additionalProperties":false,"required":["code","message","retryable"]},"suggestion":{"type":"string"},"_meta":{"type":"object","properties":{"retrieved_at":{"type":"string","format":"date-time"},"language":{"type":"string","const":"en"},"content_languages":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"object"}}},"required":["retrieved_at","language","content_languages","sources"]},"_links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"api_index":{"type":"string","format":"uri"},"feedback":{"type":"string","format":"uri"}},"required":["self","api_index","feedback"],"additionalProperties":false}},"additionalProperties":false,"required":["error","suggestion","_meta","_links"]},"statuses":{"400":{"codes":["MISSING_PARAMETER","INVALID_PARAMETER","INVALID_REQUEST"],"retryable":false},"404":{"codes":["SOURCE_NOT_FOUND","OPERATION_NOT_FOUND","ENTITY_NOT_FOUND"],"retryable":false},"429":{"codes":["RATE_LIMITED","GATEWAY_RATE_LIMITED"],"retryable":true},"502":{"codes":["SOURCE_UNAVAILABLE"],"retryable":true},"500":{"codes":["INTERNAL_ERROR"],"retryable":true}}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter/search_news/schema","operation":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter/search_news","source":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"},"output_fields":["since","until","total","matched","offset","count","items","items[].id","items[].name","items[].lat","items[].lon","items[].source","items[].summary","items[].location","items[].link","items[].severity","items[].tags","items[].is_active","items[].pub_date","items[].first_seen","items[].last_seen"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["items[].id"],"name":["items[].name"],"latitude":["items[].lat"],"longitude":["items[].lon"]},"response_example":{"source":"nyheter","operation":"search_news","parameters":{"query":"example value","since":"example value","until":"example value","kind":"example value","lat":59.91,"lon":10.75,"radius_km":25,"limit":25,"offset":0},"data":{"since":"2026-01-15T12:00:00Z","until":"2026-01-15T12:00:00Z","total":1,"matched":1,"offset":1,"count":1,"items":[{"id":"example-id","name":"Example","lat":59.91,"lon":10.75,"source":"example value","summary":"example value","location":"example value","link":"https://example.invalid/resource","severity":"example value","tags":["example value"],"is_active":true,"pub_date":"2026-01-15T12:00:00Z","first_seen":"2026-01-15T12:00:00Z","last_seen":"2026-01-15T12:00:00Z"}]},"entities":[{"type":"place","id":"59.91,10.75","name":"59.91, 10.75","source":"nyheter","description":"Coordinate used as the operation input.","coordinates":{"lat":59.91,"lon":10.75,"crs":"WGS84"}}],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"nyheter","name":"Norwegian news events","description":"Geolocated Norwegian news and police events, deduplicated and ordered by recency.","cache_ttl_seconds":300,"documentation":"https://test.offentligdata.com/api/news"}]},"_provenance":{"data":{"source":"nyheter","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter"},"entities":{"source":"nyheter","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter/search_news","source":"https://allemannsdata.com/wiki/api/v1/kilder/nyheter","wiki":"https://allemannsdata.com/wiki/kilder/nyheter/search_news/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}}
