Gå til indholdet

P34's API

Slå et telefonnummer op, eller søg efter numre på navn, adresse og virksomhed. Alle svar er JSON.

Kom i gang

API'et ligger på https://rest.p34.dk/v2. Landet står i stien: dk for Danmark.

Log ind med Basic auth: jeres kundenøgle er brugernavnet, og jeres token er adgangskoden. Har I ikke en kundenøgle endnu, så bestil adgang.

Skriv numre med cifre alene og uden landekode, f.eks. 12345678.

$ curl -u KUNDENØGLE:TOKEN https://rest.p34.dk/v2/dk/phone/12345678

Opslag på et nummer

GET /v2/dk/phone/{nummer}

Alt, hvad vi ved om et nummer. Har flere kilder nummeret, svarer den kilde, der kender det bedst. Tæller i kvoten.

Eksempel på et svar (opdigtede oplysninger)

{
  "phone": 12345678,
  "address": {
    "street": "Eksempelvej",
    "numberfrom": 12,
    "floor": "2",
    "door": "tv",
    "zipcode": 8000,
    "cityname": "Aarhus C"
  },
  "life": {
    "name": "Jens Hansen",
    "firstname": "Jens",
    "lastname": "Hansen"
  }
}

Søgning

GET POST /v2/dk/search/phone

Hvert filter er en parameter opkaldt efter et felt, f.eks. life_name eller address_zipcode. Alle filtre skal passe. Resultaterne kommer én side ad gangen, og søgningen tæller i kvoten.

$ curl -u KUNDENØGLE:TOKEN -G https://rest.p34.dk/v2/dk/search/phone \
    --data-urlencode 'life_name=Jens Hansen' \
    --data-urlencode 'address_zipcode=8000-8210'

Med POST sendes filtrene som et JSON-dokument. Her kan hvert filter også have en operator og vendes om med negative:

"filters": [
  { "field": "life_name", "values": "Jens Hansen" },
  { "field": "address_zipcode", "values": [8000, 8200] },
  { "field": "address_city", "values": "Aarhus C", "negative": true }
]

Filtre

Filtrene gælder både søgning og optælling.

ParameterMatcher
phoneEt telefonnummer, præcist. Givet flere gange, eller som phone[], matcher et hvilket som helst af numrene.
life_nameEt navn i personens navn, virksomhedens navn og dens juridiske navn. Alle ord skal være der. Et navn på 8 eller 9 cifre er selve nummeret.
address_streetVejnavnet, præcist.
address_streetcodeVejkoden, præcist.
address_numberfromHusnummeret, præcist.
address_letterfromBogstavet efter husnummeret, f.eks. B i 12B.
address_zipcodeEt postnummer som 8000, en liste som 8000,8200 eller et interval som 8000-8200.
address_zipcode_listEnderne af ét interval, skrevet som 8000,8200 eller 8000-8200.
address_cityBynavnet, præcist, f.eks. Aarhus C.
address_municipalityEn kommunekode som 751, en liste eller et interval, læst ligesom postnumre.
address_kvhAdressens kvh-nøgle: kommunekode, vejkode og husnummer.
address_kvhxKvh-nøglen med etage og dør.
company_vatVirksomhedens CVR-nummer, præcist.

Optælling

GET POST /v2/dk/search/phone/count

De samme filtre som søgningen, men kun antallet i total. Optællinger er gratis. Brug dem til at se, hvor mange numre en søgning rammer, før I henter dem.

Kvote

GET /v2/quota

Dagens grænse, de opslag, der er lavet, og dem, der er tilbage. Opslag og søgninger tæller i kvoten; optællinger og kald til /v2/quota gør ikke. Når kvoten er brugt, svarer API'et 403 Forbidden, indtil den starter forfra næste dag.

GET /v2 viser, hvem API'et tror kalder: IP-adresse, user agent, land, og om I er logget ind som kunde.

Svarkoder

200
Svaret er i JSON.
401
Kundenøglen eller tokenet mangler eller er forkert.
403
Dagens kvote er brugt.

Felter i svaret

Et nummer har disse dele. Felter, vi ikke kender en værdi for, er null.

life

Personen: navn, fornavn, mellemnavn, efternavn, stilling, køn og om personen er død.

address

Adressen: vej, husnummer, etage, dør, postnummer, by, kommune, kvh-nøgler, koordinater og id i adresseregistret.

company

Virksomheden: navn, juridisk navn og CVR-nummer.

network

Nummeret i nummerplanen: hvad det bruges til, operatør og netværkskoder.

Alle felter og typer står i OpenAPI-specifikationen.