För utvecklare
Prismotor och offertförfrågan som API
Husmatchs prisuppskattningar och offertflöde är anropbara som ett versionerat REST-API – byggt för AI-assistenter och andra integrationer. Samma motorer och samma validering som på webbplatsen, inga separata prismodeller.
Snabbfakta
- • Bas-URL:
https://husmatch.se/api/v1 - • Ingen API-nyckel behövs i dagsläget. Rate limit: 30 anrop/minut per IP och endpoint.
- • Maskinläsbar descriptor: /.well-known/mcp.json – och /llms.txt för AI-sök.
- • Alla belopp är SEK inklusive moms, som spann – en uppskattning, inte en offert.
POST /api/v1/estimate
Beräknar ett prisspann med samma motor som webbplatsens kalkyl: brutto och efter avdrag (ROT eller grön teknik beroende på tjänst), med antaganden och datamodellens version i svaret. Fungerar för tjänster där priset ärligt går att räkna ut från enkla siffror – i dag: tak, tvatt, fonster, fasad, solceller, laddbox, dranering, tradfallning, golv, altan, isolering.
curl -X POST https://husmatch.se/api/v1/estimate \
-H "Content-Type: application/json" \
-d '{
"vertical": "tak",
"kommunCode": "0180",
"inputs": { "atgard": "Takbyte", "taktyp": "Betongpannor", "yta": 140 }
}'Vilka fält en tjänst kräver tar du reda på med en GET mot samma endpoint:
curl https://husmatch.se/api/v1/estimateFelkoder: unknown_vertical (404), no_estimator (422 – tjänsten finns men priset är inte en funktion av enkla siffror; webbplatsen visar källade spann i stället), unknown_kommun och validation (400), rate_limited (429). Ett svar kan också vara "kind": "not-computable" med en svensk förklaring – det är ett ärligt resultat, inte ett fel.
POST /api/v1/lead
Skickar in en offertförfrågan för slutanvändarens räkning – samma validering, dubblettkontroll och partnermatchning som webbplatsens formulär. Kravet som skiljer: slutanvändaren måste ha sett och aktivt godkänt exakt den samtyckestext vi lagrar.
curl -X POST https://husmatch.se/api/v1/lead \
-H "Content-Type: application/json" \
-d '{
"vertical": "tak",
"kommunCode": "0180",
"wizardAnswers": { "atgard": "Takbyte", "taktyp": "Betongpannor", "yta": 140 },
"name": "Anna Andersson",
"email": "anna@example.com",
"phone": "070-123 45 67",
"streetAddress": "Exempelgatan 1",
"postalCode": "112 34",
"city": "Stockholm",
"consentAccepted": true,
"consentText": "Jag samtycker till att Husmatch sparar mina uppgifter och delar dem med upp till 5 granskade företag, så att de kan kontakta mig och lämna offert. Offerterna är kostnadsfria och inte bindande. Uppgifterna sparas i högst 12 månader om ärendet inte är aktivt. Jag kan när som helst återkalla mitt samtycke — se integritetspolicyn.",
"consentTextVersion": "2026-07-02.v1",
"source": "agent"
}'Samtyckeskontraktet
Fältet consentText måste vara exakt (tecken för tecken) den aktuella texten nedan, och consentTextVersion måste vara 2026-07-02.v1. Visa texten ordagrant för användaren; förifyllt eller antaget samtycke är inte giltigt. Avvikelse ger consent_text_mismatch (400) med den förväntade texten i svaret.
Jag samtycker till att Husmatch sparar mina uppgifter och delar dem med upp till 5 granskade företag, så att de kan kontakta mig och lämna offert. Offerterna är kostnadsfria och inte bindande. Uppgifterna sparas i högst 12 månader om ärendet inte är aktivt. Jag kan när som helst återkalla mitt samtycke — se integritetspolicyn.
Personnummer avvisas i alla fält – vi frågar aldrig efter det. Svaret innehåller leadId och en status (delivered, parked m.fl., eller duplicate om samma telefonnummer redan skickat in för samma tjänst de senaste 30 dagarna).
Villkor
API:et är gratis och tillhandahålls i befintligt skick. Uppskattningar är just uppskattningar – visa alltid spann och antaganden för slutanvändaren, aldrig en enskild siffra som ett pris. Frågor: hej@husmatch.se.