API‑dokumentation
Opslag i Robinsonlisten via REST‑API
API Endpoints
Simple, RESTful endpoints til Robinsonliste opslag og adressenormalisering
Robinsonliste Identifikation
https://robinsonlistenapi.dk/api/v1/identifications
✓ Enkelt person opslag via query parametre
https://robinsonlistenapi.dk/api/v1/identifications
Anbefalet
✓ Batch opslag (op til 1.000 personer per request) – Bedst til høj volumen
Adresse Normalisering
GRATIS
Validér og normaliser danske adresser ved hjælp af officiel DAWA data
https://robinsonlistenapi.dk/api/v1/address/normalize
✓ Normaliser og validér en enkelt dansk adresse
https://robinsonlistenapi.dk/api/v1/address/normalize/batch
✓ Batch adresse normalisering (op til 100 adresser per request)
Godkendelse
Inkludér jeres API‑nøgle i forespørgslen:
{
"api_key": "your_api_key_here",
"search": [...]
}
Request‑format
Send en liste med personer, I vil kontrollere. Hver person SKAL indeholde en adresse (med postnummer). Fornavn og efternavn er valgfrie men stærkt anbefalet for præcis matching.
| Parameter | Type | Påkrævet | Beskrivelse |
|---|---|---|---|
| first_name | string | Optional | Fornavn (valgfrit men anbefalet) |
| last_name | string | Optional | Efternavn (valgfrit men anbefalet) |
| address | string | Optional | Adresse inkl. postnummer, f.eks. "Vesterbrogade 1, 1620" (PÅKRÆVET) |
| phone_number | string | Valgfrit | Telefonnummer (dansk format) |
| kvhx | string | Valgfrit | Officiel dansk adressekode (KVHX) |
| query | string | Valgfrit | Generel søgeforespørgsel (prøver både navn og adresse) |
| id | string/number | Valgfrit | Dit interne ID (returneres i response til tracking) |
Bemærk: Angiv mindst én søgeparameter. API'et vil forsøge at matche på navn, adresse, telefonnummer eller KVHX-kode.
Eksempel
fetch('https://robinsonlistenapi.dk/api/v1/identifications', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'your_api_key_here',
search: [
{
first_name: 'Marcus',
last_name: 'Jensen',
address: 'Vesterbrogade 1, 1620',
id: 1
},
{
address: 'Flakholmen 14 st. th., 2640',
id: 2
},
{
first_name: 'Hans',
last_name: 'Schøller',
address: 'Nørrebrogade 20, 2200',
id: 3
},
{
phone_number: '+4512345678',
id: 4
},
{
kvhx: '01010101__1__1',
first_name: 'Anna',
last_name: 'Hansen',
id: 5
}
]
})
})
.then(response => response.json())
.then(data => { console.log(data); return data; });
fetch('https://robinsonlistenapi.dk/api/v1/identifications?' + new URLSearchParams({
api_key: 'your_api_key_here',
first_name: 'Marcus',
last_name: 'Jensen',
address: 'Vesterbrogade 1, 1620'
}))
.then(response => response.json())
.then(data => { console.log(data); return data; });
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://robinsonlistenapi.dk/api/v1/identifications')
params = {
api_key: 'your_api_key_here',
first_name: 'Marcus',
last_name: 'Jensen',
address: 'Vesterbrogade 1, 1620'
}
uri.query = URI.encode_www_form(params)
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)
puts data
require 'net/http'
require 'json'
uri = URI('https://robinsonlistenapi.dk/api/v1/identifications')
request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.body = JSON.dump({
api_key: 'your_api_key_here',
search: [
{
first_name: 'Marcus',
last_name: 'Jensen',
address: 'Vesterbrogade 1, 1620',
id: 1
},
{
address: 'Flakholmen 14 st. th., 2640',
id: 2
},
{
first_name: 'Hans',
last_name: 'Schøller',
address: 'Nørrebrogade 20, 2200',
id: 3
},
{
phone_number: '+4512345678',
id: 4
}
]
})
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data
# Single lookup (GET)
curl -X GET 'https://robinsonlistenapi.dk/api/v1/identifications?api_key=your_api_key_here&first_name=Marcus&last_name=Jensen&address=Vesterbrogade%201%2C%201620'
# Batch lookup (POST)
curl -X POST 'https://robinsonlistenapi.dk/api/v1/identifications' \
-H 'Content-Type: application/json' \
-d '{
"api_key": "your_api_key_here",
"search": [
{
"first_name": "Marcus",
"last_name": "Jensen",
"address": "Vesterbrogade 1, 1620",
"id": 1
},
{
"phone_number": "+4512345678",
"id": 2
}
]
}'
// Single lookup (GET)
$curl = curl_init();
$params = http_build_query([
'api_key' => 'your_api_key_here',
'first_name' => 'Marcus',
'last_name' => 'Jensen',
'address' => 'Vesterbrogade 1, 1620'
]);
curl_setopt_array($curl, [
CURLOPT_URL => 'https://robinsonlistenapi.dk/api/v1/identifications?' . $params,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($curl);
$data = json_decode($response);
print_r($data);
import requests
# Single lookup (GET)
params = {
"api_key": "your_api_key_here",
"first_name": "Marcus",
"last_name": "Jensen",
"address": "Vesterbrogade 1, 1620"
}
response = requests.get("https://robinsonlistenapi.dk/api/v1/identifications", params=params)
data = response.json()
print(data)
# Batch lookup (POST)
payload = {
"api_key": "your_api_key_here",
"search": [
{
"first_name": "Marcus",
"last_name": "Jensen",
"address": "Vesterbrogade 1, 1620",
"id": 1
},
{
"phone_number": "+4512345678",
"id": 2
}
]
}
response = requests.post("https://robinsonlistenapi.dk/api/v1/identifications", json=payload)
data = response.json()
print(data)
Responsformat
[
{
"first_name": "Marcus",
"last_name": "Jensen",
"address": "Vesterbrogade 1, 1620",
"id": 1,
"robinsonlisten": "1",
"robinson_matched_on": ["first_name", "last_name", "address"]
},
{
"address": "Flakholmen 14 st. th., 2640",
"id": 2,
"robinsonlisten": "1",
"robinson_matched_on": ["address"]
},
{
"first_name": "Hans",
"last_name": "Schøller",
"address": "Nørrebrogade 20, 2200",
"id": 3,
"robinsonlisten": "0",
"robinson_matched_on": []
},
{
"phone_number": "+4512345678",
"id": 4,
"robinsonlisten": "1",
"robinson_matched_on": ["phone_number"],
"phone_lookup_data": {
"first_name": "Marcus",
"last_name": "Jensen",
"address": "Vesterbrogade 1, 1620 København V"
}
}
]
{
"first_name": "Marcus",
"last_name": "Jensen",
"address": "Vesterbrogade 1, 1620",
"robinsonlisten": "1",
"robinson_matched_on": ["first_name", "last_name", "address"]
}
Svarfelter
| Felt | Beskrivelse |
|---|---|
| robinsonlisten | "1" = på listen, "0" = ikke på listen |
| robinson_matched_on | Array af felter der matchede (f.eks., ["first_name", "last_name", "address"]). Tomt array hvis intet match. |
| phone_lookup_data | Kun ved telefon opslag - data om ejeren af nummeret |
Eksempel Fortolkning
Hvis response viser:
[
{
"query": "Marcus Jensen",
"result": {
"robinsonlisten": "1",
"robinson_matched_on": "first_name, last_name",
"robinson_match_attempts": "first_name, last_name, address"
}
}
]
Betyder det: Søgningen på "Marcus Jensen" returnerede et match. Personen er på Robinsonlisten og blev matchet på navn (first_name, last_name).
Adresse Normalisering API
Adresse Normalisering API'et validerer og normaliserer danske adresser ved hjælp af officiel DAWA (Danmarks Adressers Web API) data.
Gratis at bruge: Adresse normaliserings requests spores til overvågning men tæller IKKE med i dine API forbrugsgrænser eller fakturering.
Enkelt Adresse Normalisering
https://robinsonlistenapi.dk/api/v1/address/normalize
Request Parametre
| Parameter | Type | Påkrævet | Beskrivelse |
|---|---|---|---|
| api_key | string | Ja | Din API nøgle |
| address | string | Ja | Den danske adresse der skal normaliseres |
Eksempel Request
{
"api_key": "your_api_key_here",
"address": "Vesterbrogade 1, 1620"
}
Response Format
{
"address": "Vesterbrogade 1, 1620",
"success": true,
"match_quality": "A",
"normalized_address": "Vesterbrogade 1, 1., 1620 København V",
"kvhx": "01010101__1__1",
"components": {
"municipality_code": "0101",
"road_code": "0101",
"house_number": "1",
"floor": "1",
"door": null,
"postal_code": "1620",
"city": "København V"
},
"coordinates": {
"lat": 55.674557,
"lng": 12.561615
}
}
Batch Adresse Normalisering
https://robinsonlistenapi.dk/api/v1/address/normalize/batch
Maksimum 100 adresser per request
Eksempel Request
{
"api_key": "your_api_key_here",
"addresses": [
"Vesterbrogade 1, 1620",
"Nørrebrogade 20, 2200",
"Amagerbrogade 150, 2300"
]
}
Response Felter
| Felt | Beskrivelse |
|---|---|
| success | Om adressen blev normaliseret succesfuldt |
| match_quality | A = perfekt match, B = godt match, C = usikkert match |
| normalized_address | Det officielle normaliserede adresseformat |
| kvhx | Officiel dansk adressekode (Kommune-Vej-Husnummer-Etage-Dør) |
| components | Strukturerede adressekomponenter (kommune, vej, husnummer, etage, dør, postnummer, by) |
| coordinates | GPS koordinater (breddegrad og længdegrad) |
Batch Opslag
Du kan sende flere personer i samme request for at optimere hastigheden.
Tip: For store datamængder (>1000 personer) – kontakt os for adgang til vores dedikerede batch‑endpoint med højere grænser.
Brug for hjælp?
Kontakt Support
Har du spørgsmål eller brug for teknisk assistance?