API v1.0

DoYouNeed API

Monitor SSL certificates, DNS records, and domain availability from multiple global locations. Build powerful integrations with our REST API.

SSL Monitoring

Track certificate expiration, grades, and security issues in real-time.

Global Checks

Monitor from multiple regions worldwide. Detect regional outages instantly.

Smart Alerts

Get notified via Email, Telegram, Slack, Discord, or Webhooks.

Getting Started

Get up and running with the DoYouNeed API in minutes.

1

Create an account

Sign up at doyouneed.site to get started.

2

Get your API key

Navigate to Settings → API Keys and create a new key.

Your API Key
dyn_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3

Make your first request

Test the API with a simple request to get your domains:

cURL
curl -X GET "https://doyouneed.site/api/domains" \
  -H "X-Api-Key: YOUR_API_KEY"

Authentication

The API supports two authentication methods:

API Key (Recommended)

Best for server-to-server integrations. Never expires.

X-Api-Key: dyn_xxxxxxxx

JWT Token

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.

API Endpoints

Base URL: https://doyouneed.site/api

Domains

GET /domains List all domains
POST /domains Add a new domain
GET /domains/{id} Get domain details
POST /domains/{id}/check Trigger manual check
DELETE /domains/{id} Delete a domain

Global Regions

GET /regions List available regions
POST /regions/check Run global check
GET /regions/history/{domain_id} Get check history

Alerts

GET /alerts/history Get alert history
GET /alerts/rules Get alert rules
View full API reference in Swagger UI

Code Examples

Quick examples in popular languages.

Python

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())

JavaScript / Node.js

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());

cURL

# 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"}'