Utvecklare · REST och MCP
API för spamkoll av svenska telefonnummer, e-post och länkar
SpamKollens API svarar på om ett svenskt telefonnummer, ene-postadress eller en länk är spam, bedrägeri eller phishing. Ett anrop ger samma besked som spamkollen.com visar: en riskpoäng 0–100, ett band och signalerna bakom.
- 1 credit per kontroll
- 60 anrop/min
- upp till 100 per bulkanrop
- ingen prenumeration
Anrop
curl -X POST https://spamkollen.com/api/v1/lookup \
-H "Authorization: Bearer $SPAMKOLLEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "+46701740605"}'Svar · 200 · förkortat
{ "query": "+46701740605", "kind": "phone", "score": 58, ← mätaren "band": "caution", ← etiketten "verdict": "Var uppmärksam", ← beskedet "summary": "Några signaler är osäkra. Det har rapporterats tidigare men är inte entydigt spam.", "signals": [ { "label": "5 rapporter från community", "weight": 23, "note": "Flaggad av SpamKollen-användare som misstänkt.", "tone": "caution" } ], "communityReports": 5}Samma besked på spamkollen.com
Exempelnummer ur PTS serie för fiktion
score: 58
Några signaler är osäkra. Det har rapporterats tidigare men är inte entydigt spam.
Vad du kan bygga
Stoppa engångsadresser vid registrering
Skicka e-postadressen när någon skapar ett konto. Engångsdomäner, saknade mailservrar och svag DMARC kommer tillbaka som signaler med vikt.
POST /api/v1/lookup
Varna kundtjänsten innan de ringer tillbaka
Slå upp numret när ett samtal eller ärende kommer in: rapporter från användare, Finansinspektionens och Svensk Handels varningslistor, nummertyp och operatör.
POST /api/v1/lookup
Tvätta en lista innan ett utskick
Upp till 100 telefonnummer eller e-postadresser i samma anrop, med ett svar per post. Varje post kostar 1 credit.
POST /api/v1/bulk
Låt en AI-assistent göra kollen
Samma uppslag som verktyg i Cursor, Claude Code eller en egen agent, via MCP-servern.
/api/mcp →Datakällor
- Telefon
- PTS nummerplan och operatörsdata, rapporter från användare och varningslistor från Finansinspektionen och Svensk Handel. Företagsnamn bara vid entydig träff i SCB:s företagsregister; privatpersoner identifieras aldrig.
- E-post
- Kända bluff- och engångsdomäner, rapporter från användare och kontroll av DMARC, mailservrar och domänens rykte mot blocklistor.
- Länkar
- Google Safe Browsing och APIVoid.
REST-referens
Autentisering
Skapa en API-nyckel under Konto och skicka den i Authorization-headern:
curl -X POST https://spamkollen.com/api/v1/lookup \
-H "Authorization: Bearer $SPAMKOLLEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "+46701740605"}'Nycklar börjar med sk_live_ och är 72 tecken långa. Förvara dem säkert — de kan inte visas igen efter att de skapats.
POST /api/v1/lookup
Kontrollera ett telefonnummer eller en e-postadress. Kostar 1 credit.
{
"query": "+46701740605"
}{
"query": "+46701740605",
"kind": "phone",
"score": 58,
"band": "caution",
"verdict": "Var uppmärksam",
"summary": "Några signaler är osäkra. Det har rapporterats tidigare men är inte entydigt spam.",
"meta": [
{
"label": "Typ",
"value": "Mobil"
}
],
"signals": [
{
"label": "5 rapporter från community",
"weight": 23,
"note": "Flaggad av SpamKollen-användare som misstänkt.",
"tone": "caution"
}
],
"communityReports": 5,
"credits": {
"balance": 199
}
}band är ett av safe, low, caution, high och danger. Signalernas etiketter är text för människor; bygg logik på score, band och weight.
POST /api/v1/url-check
Kontrollera en URL mot Google Safe Browsing och APIVoid. Kostar 1 credit. Fältet ipqs finns kvar i svaret men är available: false tills IPQS URL-skanner är aktiv.
{
"url": "https://suspicious-site.example.com"
}{
"url": "https://suspicious-site.example.com",
"risk_score": 78,
"risk_level": "dangerous",
"google_safe_browsing": {
"available": true,
"flagged": true,
"threat_type": "SOCIAL_ENGINEERING"
},
"apivoid": {
"available": true,
"score": 65,
"detections": 4,
"total_engines": 38
},
"ipqs": {
"available": false,
"risk_score": 0,
"phishing": false,
"malware": false,
"suspicious": false,
"domain_age_days": null
},
"credits": { "balance": 198 },
"cached": false
}POST /api/v1/bulk
Kontrollera upp till 100 telefonnummer eller e-postadresser i samma anrop. Kostar 1 credit per post.
{
"queries": [
"+46701740605",
"info@example.com",
"+46701740606"
]
}{
"results": [
{ "query": "+46701740605", "kind": "phone", "score": 58, "band": "caution", ... },
{ "query": "info@example.com", "kind": "email", "score": 15, "band": "safe", ... },
{ "query": "+46701740606", "kind": "phone", "score": 3, "band": "safe", ... }
],
"credits": { "consumed": 3, "balance": 196 }
}GET /api/v1/usage
Hämta creditsaldo och användning de senaste 30 dagarna. Kostar 0 credits.
curl https://spamkollen.com/api/v1/usage \
-H "Authorization: Bearer $SPAMKOLLEN_API_KEY"{
"balance": 196,
"usage": {
"totalCredits": 53,
"totalRequests": 48,
"daily": [
{ "date": "2026-09-26", "credits": 20, "requests": 18 },
{ "date": "2026-09-27", "credits": 33, "requests": 30 }
]
}
}Felkoder
| HTTP | Betydelse |
|---|---|
| 400 | Felaktig request (saknade fält, ogiltigt format) |
| 401 | Ogiltig eller saknad API-nyckel |
| 402 | Otillräckligt saldo. Svaret har buyUrl, länken till klippkorten |
| 403 | API-nyckeln saknar behörighet för denna endpoint |
| 429 | Rate limit (60 anrop/min) — se Retry-After |
| 500 | Serverfel — försök igen |
Rate limits
- 60 anrop per minut per API-nyckel
- 100 poster max per bulkanrop
- Creditsaldot är en hård gräns — inga skulder
Vid 429 returneras en Retry-After-header med antal sekunder att vänta.
MCP
Samma kontroller finns som MCP-verktyg på https://spamkollen.com/api/mcp, för klienter som kan skicka en egen Authorization-header över Streamable HTTP, till exempel Cursor och Claude Code.
Vanliga frågor
- Finns det ett API för att kolla om ett svenskt telefonnummer är spam?
- Ja. POST /api/v1/lookup tar ett telefonnummer eller en e-postadress och svarar med en riskpoäng 0–100, ett band, ett besked och signalerna bakom. Varje kontroll kostar 1 credit.
- Vad kostar API:t?
- 1 credit per kontroll. Credits köps som klippkort utan prenumeration, och med Klippkort 200 (149 kr för 200 kontroller, giltiga i 12 månader) blir det under 75 öre per kontroll. Att läsa saldot med GET /api/v1/usage kostar inget.
- Hur kommer jag igång?
- Logga in med din e-post, skapa en API-nyckel under Konto och köp ett klippkort. Skicka nyckeln i Authorization-headern som Bearer sk_live_…; varje kontroll drar 1 credit från saldot, och utan credits svarar API:t 402 med en länk till klippkorten.
- Vilka datakällor använder ni?
- För telefonnummer: PTS nummerplan och operatörsdata, rapporter från användare samt Finansinspektionens och Svensk Handels varningslistor. För e-post: kända bluff- och engångsdomäner, rapporter från användare och kontroll av DMARC, mailservrar och domänens rykte mot blocklistor.
- Identifierar ni personen bakom ett nummer?
- Nej. SpamKollen identifierar aldrig privatpersoner. För nummer som entydigt hör till ett aktivt aktiebolag i SCB:s företagsregister kan företagsnamnet visas.
- Finns det gränser för hur mycket jag kan anropa?
- 60 anrop per minut per API-nyckel och högst 100 poster per bulkanrop. Vid HTTP 429 anger Retry-After-headern hur många sekunder du ska vänta.
- Kan jag använda API:t från en AI-assistent?
- Ja, via MCP-servern på https://spamkollen.com/api/mcp. Den fungerar i klienter som kan skicka en egen Authorization-header, till exempel Cursor och Claude Code.
In English
SpamKollen's REST API and MCP server check whether a Swedish phone number, an email address or a URL is spam, fraud or phishing, and return a 0–100 risk score with the signals behind it. Each check costs 1 credit. Endpoints: POST /api/v1/lookup, POST /api/v1/url-check, POST /api/v1/bulk (up to 100 items) and GET /api/v1/usage. For AI agents, see the MCP server.