⚙️ DrinkDB API

Free, open, no key required. Returns JSON. Rate limit: 120 requests/session.

GET {base}/api.php?action=list

List all drinks (paginated)

Try it →
GET {base}/api.php?action=list&page=2&limit=25&sort=newest

Paginated, sorted list

Try it →
GET {base}/api.php?action=search&q=margarita

Search drinks

Try it →
GET {base}/api.php?action=get&id=1

Get single drink by ID

Try it →
GET {base}/api.php?action=random

Get a random drink

Try it →
GET {base}/api.php?action=random&count=3

Get N random drinks (max 10)

Try it →
GET {base}/api.php?action=stats

Database statistics

Try it →
GET {base}/api.php?action=categories

Drink counts by category

Try it →

📋 Query Parameters

Param Used In Description
page list, search Page number (default: 1)
limit list, search Results per page (max 100, default: 50)
sort list name_asc, name_desc, newest (default: id_asc)
q search Search term (required for search)
category search Filter by category slug: vodka, rum, gin, tequila, whiskey, cocktails, shots...
id get Drink ID (required for get)
count random Number of random drinks 1–10 (default: 1)

💻 Example (JavaScript)

fetch('https://drinkdb.site/api.php?action=search&q=margarita&limit=5')
  .then(r => r.json())
  .then(data => {
    console.log(data.total + ' drinks found');
    data.drinks.forEach(drink => console.log(drink.title));
  });