DeadLinkRadar

DeadLinkRadar

PricingDocs

Documentation

OverviewGetting StartedAlert ConfigurationTroubleshooting

API Reference

API OverviewAuthenticationRate LimitsErrors

Endpoints

AccountAPI KeysLinksGroupsHistoryWebhooks
Back to Errors

API Endpoints

Complete reference for all 30 API endpoints organized by resource type. All endpoints require authentication with a valid API key.

Account

GET/api/v1/account

Retrieve your account information including subscription details and limits.

200OK
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "email": "user@example.com",
    "tier": "business",
    "limits": {
      "links": 50000,
      "linksUsed": 1234,
      "apiKeys": 25,
      "webhooks": 25
    },
    "createdAt": "2024-01-01T00:00:00Z"
  }
}
GET/api/v1/usage

Get your API usage statistics for the current billing period.

200OK
{
  "data": {
    "requests": {
      "total": 5420,
      "thisMonth": 1234,
      "today": 56
    },
    "links": {
      "total": 1500,
      "active": 1423,
      "dead": 77
    },
    "checks": {
      "thisMonth": 45000,
      "lastCheck": "2024-12-25T12:00:00Z"
    }
  }
}

API Keys

GET/api/v1/keys

List all API keys for your account.

Query Parameters
page
number

Page number (default: 1)

per_page
number

Items per page (default: 20, max: 100)

POST/api/v1/keys

Create a new API key.

Request Body
namerequired
string

Name for the API key (max 100 chars)

permissions
object

Permissions object with read/write booleans

expires_at
string

ISO 8601 expiration date (optional)

The full API key is only returned once during creation. Store it securely!

GET/api/v1/keys/{id}

Get details of a specific API key.

PATCH/api/v1/keys/{id}

Update an API key's name, permissions, or expiration.

Request Body
name
string

New name (max 100 chars)

permissions
object

Updated permissions

expires_at
string

New expiration date

DELETE/api/v1/keys/{id}

Revoke (delete) an API key. This action cannot be undone.

POST/api/v1/keys/{id}/rotate

Generate a new key value while keeping the same key ID and settings.

Rotation creates a new key value and invalidates the old one. The new key is only shown once.

Links

GET/api/v1/links

List all monitored links with optional filtering and pagination.

Query Parameters
status
string

Filter by status

activedeadunknownchecking
service
string

Filter by service (k2s, mega, etc.)

group_id
uuid

Filter by group

search
string

Search in URL (max 255 chars)

page
number

Page number (default: 1)

per_page
number

Items per page (default: 20, max: 100)

POST/api/v1/links

Create a new monitored link.

Request Body
urlrequired
string

URL to monitor (max 2048 chars)

group_id
uuid

Optional group to add the link to

check_frequency
stringDefault: daily

Check frequency

hourlydailyweeklymonthly

Example

Create Link
curl -X POST https://deadlinkradar.com/api/v1/links \
  -H "Authorization: Bearer dlr_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://mega.nz/file/abc123",
    "check_frequency": "daily"
  }'
POST/api/v1/links/batch

Create multiple links in a single request (up to 1,000).

Request Body
linksrequired
array

Array of link objects (max 1,000)

links[].urlrequired
string

URL to monitor

links[].group_id
uuid

Optional group ID

links[].check_frequency
string

Check frequency

Example

Batch Create Links
curl -X POST https://deadlinkradar.com/api/v1/links/batch \
  -H "Authorization: Bearer dlr_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "links": [
      {"url": "https://mega.nz/file/abc123"},
      {"url": "https://k2s.cc/file/xyz789", "check_frequency": "hourly"}
    ]
  }'
GET/api/v1/links/{id}

Get details of a specific link including its current status.

PATCH/api/v1/links/{id}

Update a link's group or check frequency.

Request Body
group_id
uuid

New group ID (null to remove from group)

check_frequency
string

New check frequency

hourlydailyweeklymonthly
DELETE/api/v1/links/{id}

Delete a monitored link and all its history.

POST/api/v1/links/{id}/check

Trigger an immediate status check for a link.

200OK
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "status": "checking",
    "message": "Check initiated"
  }
}
GET/api/v1/links/{id}/history

Get the check history for a specific link.

Query Parameters
start_date
string

Start date (ISO 8601)

end_date
string

End date (ISO 8601)

page
number

Page number

per_page
number

Items per page

Groups

GET/api/v1/groups

List all link groups.

Query Parameters
page
number

Page number (default: 1)

per_page
number

Items per page (default: 20, max: 100)

POST/api/v1/groups

Create a new link group.

Request Body
namerequired
string

Group name (max 100 chars)

description
string

Optional description (max 500 chars)

color
string

Hex color code (e.g., #FF5733)

GET/api/v1/groups/{id}

Get details of a specific group including link count.

PATCH/api/v1/groups/{id}

Update a group's name, description, or color.

DELETE/api/v1/groups/{id}

Delete a group. Links in the group are not deleted, just ungrouped.

GET/api/v1/groups/{id}/links

List all links in a specific group.

Query Parameters
status
string

Filter by status

page
number

Page number

per_page
number

Items per page

POST/api/v1/groups/{id}/links

Add links to a group (move existing links).

Request Body
link_idsrequired
array

Array of link UUIDs to add

History

GET/api/v1/history

Get check history across all links.

Query Parameters
link_id
uuid

Filter by specific link

status
string

Filter by result status

activedeadunknown
start_date
string

Start date (ISO 8601)

end_date
string

End date (ISO 8601)

page
number

Page number

per_page
number

Items per page

GET/api/v1/history/stats

Get aggregated statistics for a date range.

Query Parameters
start_date
string

Start date (ISO 8601)

end_date
string

End date (ISO 8601)

200OK
{
  "data": {
    "totalChecks": 45000,
    "aliveCount": 43500,
    "deadCount": 1200,
    "unknownCount": 300,
    "statusChanges": 156,
    "avgResponseTimeMs": 234
  }
}

Webhooks

Webhooks let you receive real-time notifications when link statuses change. All webhook payloads are cryptographically signed for security.

Webhook Event Types

EventDescription
link.deadA link status changed to dead
link.aliveA link status changed to alive
link.createdA new link was created
link.deletedA link was deleted
check.completeA single link check completed
batch.completeA batch check job completed
GET/api/v1/webhooks

List all configured webhooks.

POST/api/v1/webhooks

Create a new webhook endpoint.

Request Body
urlrequired
string

Webhook endpoint URL (HTTPS recommended)

eventsrequired
array

Event types to subscribe to (1-10)

Example

Create Webhook
curl -X POST https://deadlinkradar.com/api/v1/webhooks \
  -H "Authorization: Bearer dlr_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhooks/deadlinkradar",
    "events": ["link.dead", "link.alive"]
  }'

Save the signing_secret returned - it's only shown once! Use it to verify webhook authenticity.

GET/api/v1/webhooks/{id}

Get details of a specific webhook.

PATCH/api/v1/webhooks/{id}

Update a webhook's URL, events, or active status.

Request Body
url
string

New webhook URL

events
array

Updated event subscriptions

is_active
boolean

Enable or disable the webhook

DELETE/api/v1/webhooks/{id}

Delete a webhook endpoint.

POST/api/v1/webhooks/{id}/test

Send a test event to verify your webhook endpoint.

200OK
{
  "success": true,
  "message": "Test event sent",
  "response": {
    "statusCode": 200,
    "duration": 234
  }
}

Webhook Payload Format

All webhook payloads include a signature header for verification:

200Webhook Payload
{
  "event": "link.dead",
  "timestamp": "2024-12-25T12:00:00Z",
  "webhookId": "wh_123abc",
  "data": {
    "linkId": "123e4567-e89b-12d3-a456-426614174000",
    "url": "https://mega.nz/file/abc123",
    "previousStatus": "active",
    "currentStatus": "dead",
    "checkedAt": "2024-12-25T12:00:00Z"
  }
}
Back to Errors
DeadLinkRadar

DeadLinkRadar

Detect dead links before your users do. Monitor links across 30+ services.

Featured on NextGen Tools - The #1 AI Tools DirectoryDeadLinkRadar - Find broken links before your users do | Product Hunt

Product

  • Pricing
  • Documentation
  • FAQ
  • Dashboard

Company

  • Terms of Service
  • Privacy Policy

Connect

  • Support
  • Twitter / X
  • Bluesky

© 2025 DeadLinkRadar. All rights reserved.

Keep your file hosting links alive.