The PositiveBacklink API lets you programmatically manage sites, request exchanges, read credit balance, and subscribe to watchdog events. Base URL is https://www.positivebacklink.com/api.
All requests require a bearer token in the Authorization header. Generate tokens in Dashboard › Settings › API Keys.
Authorization: Bearer pbk_live_xxxxxxxxxxxxxxxx
| Plan | Per minute | Per day |
|---|---|---|
| Pro | 60 | 10,000 |
| Agency | 240 | 100,000 |
Responses include X-RateLimit-Remaining and X-RateLimit-Reset headers.
List all sites owned by the authenticated user.
curl https://www.positivebacklink.com/api/sites \
-H "Authorization: Bearer pbk_live_xxx"
Response:
{
"sites": [
{
"id": "site_01H...",
"url": "https://example.com",
"niche": "saas",
"dr": 42,
"verified": true,
"created_at": "2026-01-15T10:23:00Z"
}
]
}
Add a new site to your account. Verification runs asynchronously.
curl -X POST https://www.positivebacklink.com/api/sites \
-H "Authorization: Bearer pbk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","niche":"saas"}'
List exchange offers for your sites. Supports filters: ?status=pending|accepted|live|broken.
Accept an incoming exchange offer. Credits will be deducted on confirmation.
Return current credit balance and ledger entries.
{
"balance": 142,
"lifetime_earned": 580,
"lifetime_spent": 438
}
List watchdog events for your earned links. Useful for SIEM integrations.
Subscribe to push notifications instead of polling. Configure endpoint URL in Dashboard › Settings › Webhooks.
| Event | Payload preview |
|---|---|
| exchange.requested | {id, from_site, to_site, anchor} |
| exchange.accepted | {id, accepted_at} |
| exchange.published | {id, live_url, published_at} |
| watchdog.alert | {exchange_id, severity, type, detail} |
All webhook payloads are signed with HMAC-SHA256 in the X-PB-Signature header.
Standard HTTP status codes apply. Error responses include a JSON body with error.code and error.message.
{
"error": {
"code": "insufficient_credits",
"message": "You need 3 credits but have 1."
}
}