Eniro API – Gulasidorna via REST

Förra veckan så lanserade Eniro ett API där man kan söka efter företag och personer i Sverige, Danmark och Norge. Gulasidorna via REST helt enkelt. Det är ett rätt enkelt REST API som ger tillgång till mycket data i JSON format.

Två API nivåer

När man registerar sig som användare av Eniros API så får man Basic level, dvs begränsad tillgång till data samt max 10.000 anrop/månad. Är man partner med Eniro får man istället Full level access, dvs obegränsat med anrop och mer data via APIet. Det är inte helt självklart vilka villkor man måste uppnå för att kunna bli partner, utan man ska kontakta Eniros partner team och ta en diskussion med dem.

Enligt dokumentationen så är den stora skillnaden mellan Full och Basic att man med Basic inte har tillgång till viktig information som tex företagsnamn, position (long/lat). Enligt mina tester så har man dock tillgång till det mesta även med Basic, även om det varierar mycket från metod till metod. Kanske kommer företagsnamn etc att försvinna från Basic snart, så jag skulle inte bygga en app som använder sådan info utan att först bli Full användare eller i alla fall kolla med Eniro först.

Sök efter företag

Man kan söka efter företag med angivna sökord och ett geografiskt område, tex för webbyråer i Helsingborg. Konstigt nog finns det två metoder för att göra denna sökning, antingen via Company Search eller via Company mobile search. Själv har jag inte lyckats hitta någon skillnad på dessa två metoder, men jag antar att det finns någon subtil skillnad gömd någonstans.

Sökningen efter webbyråer i Helsingborg ser ut så här med Company Search:

<br /> http://api.eniro.com/partnerapi/cs/search/basic?geo_area=helsingborg&country=se<br /> &search_word=webbyr%C3%A5&profile=<MIN PROFIL>&version=1.0.1&key=<MIN NYCKEL><br />

API profil och API nyckel skapar man gratis på api.eniro.com. Land måste alltid anges som “se” om man vill söka i Sverige. Alternativen är “krak” för att söka i Danmark på Krak.dk och “no” för att söka i Norge på Gulesider.

Ett annat sätt att leta efter företag är med Company proximity search där man söker inom X antal meter från en given longitud och latitud.

Sök efter personer

Uppdatering (2011-10-17): Eniro verkar ha tagit bort sitt person API, men jag har inte lyckats få fram varför.

Uppdatering (2012-02-20): Person APIet är borttaget permanent troligtvis pga rättighetsproblem.

Precis som för företag så söker man efter personer i ett visst geografiskt område och med angivna sökord med Person search. Följande anrop returnerar en lista på advokater i Stockholm:

<br /> http://api.eniro.com/ps/search/basic?profile=<MIN PROFIL>&version=1.0.0<br /> &key=<MIN NYCKEL>&country= se&search_word=advokat&geo_area=stockholm<br />

Man kan också söka efter personer inom ett visst geografiskt område baserat på longitud och latitud med Person Proximity Search.

Sammanfattning

Jag tycker om att Eniros API ger tillgång till riktigt mycket data på ett snyggt och lättanvänt sätt. Dokumentationen av APIet är OK och det är snabbt att få en API nyckel och sätta igång att testa. Tyvärr så begränsas APIet en hel del genom sina licensvillkor och då tänker jag främst på att data man får från APIet inte får lagras på något sätt, endast användas on demand. Det är alltså mot villkoren att cacha data eller mellanlagra i en databas. Detta är inte ett ovanlig villkor i API sammanhang, men det sänker värdet på APIet en hel del. Det är förståeligt att Eniro inte vill att någon bygger upp en speglad version av eniro.se, men att inte tillåta någon sorts mellanlagring är att gå lite långt. Begränsa mellanlagringen till 24 timmar så att det går att cacha data ordentligt och få lite prestanda i de applikationer som bygger på APIet.

Det är ett mycket bra och smart initiativ av Eniro att släppa detta API och jag hoppas det blir populärt så att andra svenska företag får upp ögonen för de möjligheter som ett API ger.

Följ @EniroAPI på Twitter för nyheter om detta API och följ mig, @andreaskrohn för att få API nyheter i allmänhet.