API Documentation (First Beta!)

Access account deletion information for thousands of services programmatically.

Quick Start

Base URL: https://api.justdeleteaccount.com/v1

All endpoints return JSON. No authentication required for basic usage.

Example Request
curl https://api.justdeleteaccount.com/v1/services/by-domain/facebook.com
Example Response
{ "success": true, "data": { "id": 677, "name": "Facebook", "url_name": "facebook", "url": "https://www.facebook.com/help/delete_account?rdrhc", "difficulty": "medium", "notes": "While you can delete your account easily, some of the data including messages, are there to stay forever, just as stated in the website's privacy policy.", "email": null, "email_subject": null, "email_body": null, "domains": [ "facebook.com" ], "available_languages": [ "ca", "cs", "de", "es", "fr", "it", "pl", "pt-BR", "ru", "tr" ] } }

Rate Limits

Limit: 10 requests per 10 seconds per IP address

If you need higher limits, please contact us. We currently try to find a good balance for a rate limit.

Endpoints

GET

/services

List all services with pagination and optional filters.

Query Parameters
Parameter Type Description Default
difficulty string Filter by difficulty level (easy, medium, hard, limited, impossible) -
search string Search in service name and notes -
lang string Language code for localized notes (e.g., de, fr, es), defaults to en if requested language not avaliable en
page integer Page number 1
limit integer Results per page (max: 200) 50
Example
curl "https://api.justdeleteaccount.com/v1/services?difficulty=easy&limit=10"
GET

/services/{id}

Get detailed information about a specific service.

Path Parameters
id integer Service ID required
Query Parameters
lang string Language code for localized notes en
Example
curl "https://api.justdeleteaccount.com/v1/services/1?lang=de"
GET

/services/by-domain/{domain}

Find a service by its domain name. Perfect for browser extensions and integrations.

Path Parameters
domain string Domain name (e.g., facebook.com) required
Query Parameters
subdomains string "exact" or "include" - whether to match subdomains exact
lang string Language code en
Examples
curl "https://api.justdeleteaccount.com/v1/services/by-domain/facebook.com"
curl "https://api.justdeleteaccount.com/v1/services/by-domain/mail.google.com?subdomains=include"
POST

/services/lookup-domains

Look up multiple domains in a single request (max 100 domains).

Request Body
{ "domains": ["facebook.com", "twitter.com", "google.com"], "lang": "en" }
Response
{ "success": true, "data": { "found": [ { "queried_domain": "facebook.com", "matched_domain": "facebook.com", "service": { ... } } ], "not_found": ["unknown-site.com"] } }
GET

/search

Search services by query or domain with flexible filtering.

Query Parameters
q string Search query (searches name, notes, URL) -
domain string Search by domain (partial match) -
difficulty string Filter by difficulty -
lang string Language code en
page integer Page number 1
limit integer Results per page 50
Examples
curl "https://api.justdeleteaccount.com/v1/search?q=social+media" curl "https://api.justdeleteaccount.com/v1/search?domain=google&difficulty=easy"
GET

/stats

Get overall statistics about the service database, including community feedback on deletion success.

Example Response
{ "success": true, "data": { "total_services": 2400, "by_difficulty": { "easy": 800, "medium": 950, "hard": 450, "limited": 150, "impossible": 50 }, "total_domains": 4200, "avg_domains_per_service": 1.75, "total_translations": 5200, "services_with_email": 1200, "languages": { "de": 1200, "fr": 980, "es": 850 }, "top_domains": { ".com": 2000, ".co.uk": 350, ".org": 450 }, "votes": { "total_successful": 2145, "total_failed": 287, "total_uncertain": 156, "total_votes": 2588, "success_rate": 82.9, "services_with_votes": 487 } } }
GET

/difficulties

Get a list of all difficulty levels with descriptions and counts.

Example Response
{ "success": true, "data": [ { "level": "easy", "description": "Simple process such as a delete account button", "color": "#22c55e", "count": 800 } ] }

Difficulty Levels

easy

Simple process such as a delete account button

medium

Allow account deletion but require additional steps

hard

Require contacting customer service or no easy deletion

limited

Only allow deletion if you live in an area with privacy rights

impossible

Basically impossible to totally delete your account

Response Format

Service Object

All service responses include the following fields:

id integer Unique service identifier
name string Service display name
url_name string URL-friendly service slug (e.g., "facebook", "google-account")
url string Direct link to account deletion page
difficulty string Deletion difficulty level (easy, medium, hard, limited, impossible)
notes string Deletion instructions (localized if lang parameter provided)
email string|null Email address for deletion requests
domains array Associated domain names
available_languages array Available language codes for localized notes
Success Response
{ "success": true, "data": { ... }, "meta": { ... } // Optional, for pagination }
Error Response
{ "success": false, "error": "Error type", "message": "Detailed error message" }
HTTP Status Codes
200 Success
400 Bad Request
404 Not Found
422 Validation Error
429 Rate Limit Exceeded
500 Internal Server Error

Common Use Cases

Browser Extension

Detect the current website and show account deletion information:

// Get current domain const domain = window.location.hostname; // Query API fetch(`https://api.justdeleteaccount.com/v1/services/by-domain/${domain}`) .then(res => res.json()) .then(data => { if (data.success) { // Show deletion info console.log(data.data); } });
Privacy Dashboard

Build a dashboard showing deletion difficulty for user's services:

// Get difficulty stats fetch('https://api.justdeleteaccount.com/v1/stats') .then(res => res.json()) .then(data => { const stats = data.data.by_difficulty; // Visualize data });
Bulk Account Checker

Check multiple domains at once:

fetch('https://api.justdeleteaccount.com/v1/services/lookup-domains', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ domains: ['facebook.com', 'twitter.com', 'instagram.com'] }) }) .then(res => res.json()) .then(data => console.log(data.data.found));

Best Practices

Support & Contact

Questions or need higher rate limits? Contact us: