Authentication
WebPeel uses API key authentication. Every request (except /health and /v1/demo) must include your key in the Authorization header.
API Key Authentication
Pass your API key as a Bearer token in the Authorization header:
Authorization: Bearer wp_live_xxxx
This applies to all API endpoints. Requests without a valid key return 401 Unauthorized.
Unauthenticated endpoints
GET /health— Service health checkPOST /v1/demo— Pre-baked demo results (no quota consumed)
Getting an API Key
- Sign up at app.webpeel.dev/signup (free, no credit card required)
- Navigate to app.webpeel.dev/keys
- Click Create Key and give it a name
- Copy and save your key immediately — it's shown only once
If you lose your key, revoke it and create a new one from the same page.
Key Scopes and Expiry
All API keys currently have full access to your account's quota and endpoints. Key management features (per-key scopes, expiry dates, read-only keys) are on the roadmap.
- Key format:
wp_live_prefix for production,wp_test_for sandbox - Expiry: Keys do not expire unless you revoke them manually
- Revocation: Immediate — revoked keys return
401on the next request
Code Examples
curl
curl "https://api.webpeel.dev/v1/fetch?url=https://example.com" \
-H "Authorization: Bearer wp_live_xxxx"
Node.js
const response = await fetch('https://api.webpeel.dev/v1/fetch?url=https://example.com', {
headers: {
'Authorization': 'Bearer wp_live_xxxx'
}
});
const data = await response.json();
console.log(data.content);
Python
import requests
response = requests.get(
'https://api.webpeel.dev/v1/fetch',
params={'url': 'https://example.com'},
headers={'Authorization': 'Bearer wp_live_xxxx'}
)
data = response.json()
print(data['content'])
Rate Limits by Tier
Usage is measured in requests per week, resetting every Monday at midnight UTC.
| Tier | Requests / week | Notes |
|---|---|---|
| Free | 500 | No credit card required |
| Pro | 1,250 | Includes browser rendering & stealth |
| Max | 6,250 | Priority queue, higher concurrency |
When you exceed your limit, requests return 429 Too Many Requests. Upgrade your plan at app.webpeel.dev/billing.
You can also configure usage alert emails in Dashboard Settings — get notified before you hit your limit.