Introduction
The provider.tools REST API gives you programmatic access to all core tools: DNS lookups, SSL certificate checks, IP blacklist scans, DMARC record validation, and more. Use it to integrate our checks into your own monitoring systems, CI/CD pipelines, or custom dashboards.
Key Features
- RESTful JSON API - Standard HTTP methods and JSON responses
- Bearer Token Authentication - Secure API tokens with SHA-256 hashing
- Plan-Based Rate Limits - Requests scale with your subscription plan
- Real-Time Results - All checks run live against authoritative sources
Base URL
https://provider.tools/api/v1/
Plan Availability
| Plan | API Access | Calls/Month |
|---|---|---|
| Free | ❌ | — |
| Starter | ✅ | 1,000 |
| Pro | ✅ | 10,000 |
| Business | ✅ | 100,000 |
| Enterprise | ✅ | Unlimited |
Authentication
All API requests require a valid API token. You can create and manage tokens in your Account Settings → API Tokens section.
Creating a Token
- Go to Account Settings in the dashboard
- Scroll to the API Tokens section
- Click "New Token"
- Enter a descriptive name (e.g. "CI Pipeline", "Monitoring Script")
- Optionally set an expiration (in days)
- Copy the token immediately - it will never be shown again!
Using the Token
Pass your token in the Authorization header or the X-API-Key header:
# Method 1: Authorization Bearer header (recommended)
curl -H "Authorization: Bearer pt_your_token_here" \
https://provider.tools/api/v1/dns-check?domain=example.com
# Method 2: X-API-Key header
curl -H "X-API-Key: pt_your_token_here" \
https://provider.tools/api/v1/dns-check?domain=example.com
Token Format
Tokens start with the prefix pt_ followed by 48 hexadecimal characters. Example: pt_a1b2c3d4e5f6...
Tokens are stored as SHA-256 hashes in our database - we cannot recover lost tokens. Create a new one if you lose yours.
Token Limits
- Maximum 10 tokens per account
- Tokens can optionally have an expiration date
- Tokens can be revoked at any time from the dashboard
Error Handling
All API responses follow a consistent format:
Success Response
{
"success": true,
"data": { ... }
}
Error Response
{
"success": false,
"error": "Description of what went wrong"
}
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad request - missing or invalid parameters |
401 | Unauthorized - invalid, expired, or revoked token |
403 | Forbidden - API not available on your plan |
404 | Not found - resource doesn't exist or doesn't belong to you |
429 | Rate limit exceeded - too many requests |
500 | Internal server error - please retry or contact support |