REST API

API Documentatie

Integreer CleverKeywords in je eigen tools en workflows. Krijg toegang tot keyword research, SERP analyse en concurrentieonderzoek via onze REST API.

API Key Authenticatie

Beveiligd met Bearer tokens. Elke key begint met ck_live_ prefix.

Snelle Response

Gemiddelde responstijd onder 200ms. Gebouwd op een moderne, schaalbare infrastructuur.

JSON Responses

Consistente JSON response structuur met gestandaardiseerde foutcodes en paginering.

Authenticatie

Alle API requests vereisen authenticatie via een API key. Je kunt een API key aanmaken in je account instellingen (beschikbaar vanaf het Professional plan).

API Key verkrijgen
  1. Upgrade naar het Professional of Agency plan
  2. Ga naar Instellingen → API Keys
  3. Klik op "Nieuwe API Key" en geef een beschrijvend label
  4. Kopieer de key (begint met ck_live_) en bewaar deze veilig
Gebruik in requests
Voeg je API key toe als Bearer token in de Authorization header:
GET /api/v1/public/serp/analyze?keyword=voorbeeld HTTP/1.1
Host: api.cleverkeywords.nl
Authorization: Bearer ck_live_your_api_key
Content-Type: application/json
HTTP

Rate Limits

De API gebruikt rate limiting om eerlijk gebruik te garanderen. Limieten zijn afhankelijk van je abonnement.

PlanRequests per minuutRequests per dag
Professional6010.000
Agency12050.000
Rate Limit Headers
Elke response bevat rate limit informatie in de headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1710672600
HTTP

Wanneer je de limiet bereikt, ontvang je een 429 Too Many Requests response. Wacht tot de reset timestamp verstreken is voordat je nieuwe requests stuurt.

Response Formaat

Alle endpoints retourneren een consistente JSON structuur.

200Success
{
  "success": true,
  "data": {
    "...": "..."
  },
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2026-03-17T10:30:00Z"
  }
}
JSON
4xx/5xxError
{
  "success": false,
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Parameter \"keyword\" is verplicht",
  "code": "VALIDATION_ERROR",
  "category": "VALIDATION",
  "requestId": "req_abc123"
}
JSON

Endpoint Referentie

Volledige documentatie van alle beschikbare API endpoints met voorbeelden.

POST/api/v1/public/keywords/suggestions
Keyword Suggestions
Ontvang gerelateerde zoekwoordsuggesties op basis van een seed keyword, inclusief long-tail varianten en Nederlandse taalvariaties.

Parameters

NaamTypeVerplichtBeschrijving
keywordstringJaHet seed zoekwoord (bijv. "hypotheek")
limitnumberNeeMaximum aantal suggesties (standaard: 50, max: 200)
languagestringNeeTaalcode (standaard: "nl")
include_metricsbooleanNeeZoekvolume en CPC per suggestie (standaard: true)
filter_intentstringNeeFilter op zoekintentie: "informational", "commercial", "transactional", "navigational"

Request body

{
  "keyword": "hypotheek",
  "limit": 10,
  "language": "nl",
  "include_metrics": true,
  "filter_intent": "informational"
}
JSON

Response

{
  "success": true,
  "data": {
    "seed_keyword": "hypotheek",
    "suggestions": [
      {
        "keyword": "hypotheek berekenen",
        "search_volume": 33100,
        "cpc": 3.12,
        "difficulty": 45,
        "intent": "informational",
        "relevance_score": 0.95
      },
      {
        "keyword": "hypotheek rente",
        "search_volume": 22200,
        "cpc": 2.87,
        "difficulty": 58,
        "intent": "informational",
        "relevance_score": 0.91
      },
      {
        "keyword": "hypotheek oversluiten",
        "search_volume": 18100,
        "cpc": 4.56,
        "difficulty": 52,
        "intent": "informational",
        "relevance_score": 0.88
      }
    ],
    "total_suggestions": 148
  },
  "meta": {
    "requestId": "req_xyz789ghi012",
    "timestamp": "2026-03-17T10:31:00Z"
  }
}
JSON

Codevoorbeelden

curl -X POST https://api.cleverkeywords.nl/api/v1/public/keywords/suggestions \
  -H "Authorization: Bearer ck_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "keyword": "hypotheek",
    "limit": 10,
    "include_metrics": true,
    "filter_intent": "informational"
  }'
bash
GET/api/v1/public/serp/analyze
SERP Analysis
Analyseer de Google zoekresultatenpagina (SERP) voor een specifiek keyword. Ontvang top resultaten, SERP features en concurrentieinformatie.

Parameters

NaamTypeVerplichtBeschrijving
keywordstringJaHet zoekwoord om de SERP voor te analyseren
devicestringNeeApparaat type: "desktop" of "mobile" (standaard: "desktop")
locationstringNeeLocatie (standaard: "Netherlands")
limitnumberNeeAantal resultaten (standaard: 10, max: 100)

Response

{
  "success": true,
  "data": {
    "keyword": "elektrische auto",
    "device": "desktop",
    "location": "Netherlands",
    "serp_features": [
      "featured_snippet",
      "people_also_ask",
      "image_pack",
      "top_stories"
    ],
    "organic_results": [
      {
        "position": 1,
        "url": "https://www.anwb.nl/auto/elektrisch-rijden",
        "title": "Elektrisch rijden - ANWB",
        "description": "Alles over elektrische auto's: modellen, actieradius, laden en kosten.",
        "domain": "anwb.nl",
        "is_featured_snippet": true
      },
      {
        "position": 2,
        "url": "https://www.autoweek.nl/elektrische-autos/",
        "title": "Elektrische auto's vergelijken - AutoWeek",
        "description": "Vergelijk alle elektrische auto's op prijs, actieradius en specificaties.",
        "domain": "autoweek.nl",
        "is_featured_snippet": false
      }
    ],
    "total_results": 10,
    "difficulty_estimate": 71
  },
  "meta": {
    "requestId": "req_serp456abc",
    "timestamp": "2026-03-17T10:32:00Z"
  }
}
JSON

Codevoorbeelden

curl -G https://api.cleverkeywords.nl/api/v1/public/serp/analyze \
  -H "Authorization: Bearer ck_live_your_api_key" \
  --data-urlencode "keyword=elektrische auto" \
  -d "device=desktop" \
  -d "limit=10"
bash
GET/api/v1/public/competitor/research
Competitor Research
Analyseer de organische zoekprestaties van een concurrent. Ontdek hun top keywords, geschat verkeer en keyword gaps.

Parameters

NaamTypeVerplichtBeschrijving
domainstringJaHet domein van de concurrent (bijv. "concurrent.nl")
your_domainstringNeeJouw domein voor gap analyse
limitnumberNeeMaximum aantal keywords (standaard: 50, max: 500)
sort_bystringNeeSorteer op: "volume", "position", "traffic" (standaard: "volume")

Response

{
  "success": true,
  "data": {
    "domain": "concurrent.nl",
    "total_organic_keywords": 1243,
    "estimated_monthly_traffic": 45600,
    "top_keywords": [
      {
        "keyword": "verzekering vergelijken",
        "position": 3,
        "search_volume": 14800,
        "estimated_traffic": 2960,
        "url": "https://concurrent.nl/verzekeringen-vergelijken"
      },
      {
        "keyword": "autoverzekering berekenen",
        "position": 5,
        "search_volume": 8900,
        "estimated_traffic": 890,
        "url": "https://concurrent.nl/autoverzekering"
      }
    ],
    "keyword_gap": {
      "only_competitor": 312,
      "only_you": 189,
      "shared": 456,
      "opportunities": [
        {
          "keyword": "reisverzekering afsluiten",
          "competitor_position": 4,
          "your_position": null,
          "search_volume": 6600
        }
      ]
    }
  },
  "meta": {
    "requestId": "req_comp789xyz",
    "timestamp": "2026-03-17T10:33:00Z"
  }
}
JSON

Codevoorbeelden

curl -G https://api.cleverkeywords.nl/api/v1/public/competitor/research \
  -H "Authorization: Bearer ck_live_your_api_key" \
  --data-urlencode "domain=concurrent.nl" \
  --data-urlencode "your_domain=jouwsite.nl" \
  -d "limit=50" \
  -d "sort_by=volume"
bash
POST/api/v1/public/export
Data Export
Exporteer keyword data naar CSV, Excel (XLSX) of JSON formaat. Ideaal voor rapportages en verdere analyse in externe tools.

Parameters

NaamTypeVerplichtBeschrijving
keywordsstring[]JaLijst van keywords om te exporteren
formatstringJaExport formaat: "csv", "xlsx" of "json"
fieldsstring[]NeeVelden om op te nemen (standaard: alle). Opties: "search_volume", "cpc", "difficulty", "intent", "competition", "trends"
languagestringNeeTaalcode (standaard: "nl")

Request body

{
  "keywords": [
    "zonnepanelen kopen",
    "zonnepanelen prijs",
    "zonnepanelen subsidie",
    "zonnepanelen installatie"
  ],
  "format": "csv",
  "fields": [
    "search_volume",
    "cpc",
    "difficulty",
    "intent"
  ],
  "language": "nl"
}
JSON

Response

{
  "success": true,
  "data": {
    "download_url": "https://api.cleverkeywords.nl/exports/exp_abc123.csv",
    "format": "csv",
    "total_keywords": 4,
    "file_size": "2.4 KB",
    "expires_at": "2026-03-18T10:34:00Z"
  },
  "meta": {
    "requestId": "req_exp012jkl",
    "timestamp": "2026-03-17T10:34:00Z"
  }
}
JSON

Codevoorbeelden

curl -X POST https://api.cleverkeywords.nl/api/v1/public/export \
  -H "Authorization: Bearer ck_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "keywords": [
      "zonnepanelen kopen",
      "zonnepanelen prijs",
      "zonnepanelen subsidie"
    ],
    "format": "csv",
    "fields": ["search_volume", "cpc", "difficulty", "intent"]
  }'
bash

Klaar om te integreren?

Krijg toegang tot de CleverKeywords API met een Professional of Agency abonnement. Start vandaag met het integreren van keyword data in je eigen tools.