Aan de slag
Authenticatie
Alle endpoints van de SubReply API authenticeren op dezelfde manier: een persoonlijke API-sleutel, verstuurd als bearertoken.
Er is geen OAuth, geen sessiecookie en geen ondertekening van aanvragen. Eén sleutel hoort bij precies één SubReply-account: dat account wordt belast en van dat account wordt het saldo gecontroleerd.
Authorization: Bearer sr_live_VOTRE_CLE_APIEen sleutel aanmaken
- Open de pagina API-sleutels van je dashboard.
- Geef de sleutel de naam van de tool die hem gaat gebruiken (« n8n prod », « scrapingscript »…). Aan die naam zie je later welke je moet intrekken.
- Kopieer het getoonde token meteen: het is nooit meer leesbaar.
Formaat van de sleutel
Een sleutel is het voorvoegsel sr_live_ gevolgd door 64 hexadecimale tekens — 72 tekens in totaal, oftewel 256 bits entropie.
sr_live_3f9c1d7e08b64a25c1e0a7d4f6b93e28d5c40a1b8e73f602d9a45c8e1b027f3a
└──┬───┘└─────────────────────── 64 hex-tekens ────────────────────────┘
prefixDaarna toont het dashboard alleen nog sr_live_ en de eerste 8 tekens: genoeg om een sleutel in een lijst te herkennen, bij lange na niet genoeg om hem te reconstrueren. Wij bewaren alleen de SHA-256-hash, dus zelfs wij kunnen hem je niet teruggeven.
De sleutel gebruiken
curl -X POST https://subreply.io/api/v1/scrape \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sr_live_VOTRE_CLE_API" \
-d '{"subreddits": ["r/entrepreneur"], "keywords": ["leads"]}'In Node.js of in een HTTP Request-node (n8n, Make) is het dezelfde header:
const response = await fetch("https://subreply.io/api/v1/scrape", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.SUBREPLY_API_KEY}`,
},
body: JSON.stringify({
subreddits: ["r/entrepreneur"],
keywords: ["leads"],
}),
});
const data = await response.json();Beveiliging
- Nooit aan de clientkant. Een sleutel in browser-JavaScript, een mobiele app of een openbare repository is een gecompromitteerde sleutel: iedereen kan dan je credits opmaken en onder jouw account publiceren.
- Altijd in een omgevingsvariabele (
SUBREPLY_API_KEY), of in de credentialbeheerder van je automatiseringstool. Niet hard in de code en niet in een URL — URL's belanden in logs. - Eén sleutel per gebruik. Een gecompromitteerde n8n-workflow trek je dan in zonder je scripts te breken.
- Bij twijfel: intrekken. Intrekken gaat meteen in en een nieuwe sleutel maak je in twee klikken aan. Een verloren sleutel haal je niet terug, die vervang je.
De sleutel geeft toegang tot je credits
Authenticatiefouten
| Code | Betekenis | Oorzaak | Oplossing |
|---|---|---|---|
401 | Unauthorized | Header ontbreekt of klopt niet, sleutel onbekend of ingetrokken. | Controleer de header Authorization: Bearer sr_live_…, zonder overbodige spatie of regeleinde. |
402 | Payment Required | De sleutel is geldig maar het creditsaldo is leeg of te laag voor de gevraagde actie. | Vul bij op subreply.io/billing. |
De controle gebeurt in twee stappen: eerst de sleutel (401), daarna het saldo (402). Een 402 is dus altijd het bewijs dat je sleutel zelf in orde is.