Monitor SSL certificates, DNS records, and domain availability from multiple global locations. Build powerful integrations with our REST API.
Track certificate expiration, grades, and security issues in real-time.
Monitor from multiple regions worldwide. Detect regional outages instantly.
Get notified via Email, Telegram, Slack, Discord, or Webhooks.
Get up and running with the DoYouNeed API in minutes.
Sign up at doyouneed.site to get started.
Navigate to Settings → API Keys and create a new key.
dyn_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Test the API with a simple request to get your domains:
curl -X GET "https://doyouneed.site/api/domains" \
-H "X-Api-Key: YOUR_API_KEY"
The API supports two authentication methods:
Best for server-to-server integrations. Never expires.
X-Api-Key: dyn_xxxxxxxx
For web applications. Expires in 24 hours.
Authorization: Bearer eyJhbG...
Keep your API keys secure
Never expose API keys in client-side code or public repositories.
Base URL: https://doyouneed.site/api
/domains
List all domains
/domains
Add a new domain
/domains/{id}
Get domain details
/domains/{id}/check
Trigger manual check
/domains/{id}
Delete a domain
/regions
List available regions
/regions/check
Run global check
/regions/history/{domain_id}
Get check history
/alerts/history
Get alert history
/alerts/rules
Get alert rules
Quick examples in popular languages.
import requests
API_KEY = "dyn_your_api_key"
BASE_URL = "https://doyouneed.site/api"
headers = {"X-Api-Key": API_KEY}
# Get all domains
response = requests.get(f"{BASE_URL}/domains", headers=headers)
domains = response.json()
# Add a new domain
new_domain = {
"domain_name": "example.com",
"check_ssl": True,
"check_dns": True
}
response = requests.post(f"{BASE_URL}/domains", json=new_domain, headers=headers)
print(response.json())
const API_KEY = "dyn_your_api_key";
const BASE_URL = "https://doyouneed.site/api";
// Get all domains
const response = await fetch(`${BASE_URL}/domains`, {
headers: { "X-Api-Key": API_KEY }
});
const domains = await response.json();
// Add a new domain
const newDomain = await fetch(`${BASE_URL}/domains`, {
method: "POST",
headers: {
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
domain_name: "example.com",
check_ssl: true,
check_dns: true
})
});
console.log(await newDomain.json());
# Get all domains
curl -X GET "https://doyouneed.site/api/domains" \
-H "X-Api-Key: dyn_your_api_key"
# Add a new domain
curl -X POST "https://doyouneed.site/api/domains" \
-H "X-Api-Key: dyn_your_api_key" \
-H "Content-Type: application/json" \
-d '{"domain_name": "example.com", "check_ssl": true}'
# Run global check
curl -X POST "https://doyouneed.site/api/regions/check" \
-H "X-Api-Key: dyn_your_api_key" \
-H "Content-Type: application/json" \
-d '{"domain_id": "your-domain-uuid"}'