Liquor APIliquor.com ↗
Access liquor.com cocktail recipes, ingredients, ratings, user comments, editorial articles, and category browsing via 6 structured endpoints.
What is the Liquor API?
The liquor.com API exposes 6 endpoints covering cocktail recipes, editorial articles, category browsing, full-text search, and user comments. The get_recipe endpoint returns structured recipe data including ingredients, ISO-duration timing fields, author, and a numeric article_id that chains directly into get_recipe_comments to retrieve per-recipe user reviews with upvote and downvote counts. Coverage spans roughly 1,200 recipes enumerable via list_all_recipes.
curl -X GET 'https://api.parse.bot/scraper/8e72ae31-915d-4350-b89a-49e4878138ce/get_recipe?url_or_slug=recipes%2Fmargarita' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch a single cocktail recipe by its URL slug or full URL. Returns structured recipe data including title, ingredients, instructions, ratings, timing, and the article_id needed to retrieve user comments via the comments sub-resource.
| Param | Type | Description |
|---|---|---|
| url_or_slugrequired | string | Recipe URL slug (e.g. 'recipes/margarita') or full URL |
{
"type": "object",
"fields": {
"url": "full URL of the recipe",
"tags": "array of tag strings",
"title": "recipe name",
"yield": "array of yield values",
"author": "recipe author name",
"rating": "object with ratingValue and ratingCount",
"cook_time": "ISO duration",
"prep_time": "ISO duration",
"article_id": "numeric ID for use with get_recipe_comments",
"total_time": "ISO duration",
"description": "recipe description",
"ingredients": "array of ingredient strings",
"instructions": "array of instruction step strings",
"date_modified": "ISO datetime of last modification",
"date_published": "ISO datetime of publication"
},
"sample": {
"data": {
"url": "https://www.liquor.com/recipes/margarita",
"tags": [],
"title": "Margarita",
"yield": [
"1"
],
"author": "Liquor.com",
"rating": {
"ratingCount": "1322",
"ratingValue": "4.3"
},
"cook_time": "PT0M",
"prep_time": "PT3M",
"article_id": "4787239",
"total_time": "PT3M",
"description": "The classic Margarita combines tequila, lime and triple sec.",
"ingredients": [
"2 ounces blanco tequila",
"1/2 ounce orange liqueur"
],
"instructions": [
"Shake until well-chilled.",
"Strain into a rocks glass."
],
"date_modified": "2026-05-05T15:50:42-04:00",
"date_published": "2016-11-01T15:10:40-04:00"
},
"status": "success"
}
}About the Liquor API
Recipe Data
get_recipe accepts a URL slug (e.g. recipes/margarita) or a full URL and returns a structured object: title, author, rating (with ratingValue and ratingCount), yield, tags, prep_time, cook_time, and total_time in ISO 8601 duration format. The article_id field in the response is required as the input to get_recipe_comments, which returns each comment's username, name, text, created_at timestamp, and upvotes/downvotes counts.
Search and Category Browsing
search_recipes accepts a free-text query and returns matching results with title, url, thumbnail, and category across both recipes and articles. list_recipes_by_category browses by category slug or URL, supports a limit parameter (1–100) and an opaque next_cursor for pagination, and returns the same result shape plus a total count. list_all_recipes enumerates the full sitemap of roughly 1,200 recipes with last_modified dates, also paginated via cursor and limit.
Editorial Content
get_article retrieves full editorial guides and articles by slug or URL, returning title, author, date_published (ISO datetime), and body text with paragraphs separated by double newlines. This covers liquor.com's spirits guides, mixology explainers, and similar editorial content distinct from structured recipe pages.
Pagination and Chaining
Both list_recipes_by_category and list_all_recipes use cursor-based pagination. Omit cursor on the first call; pass the returned next_cursor value on subsequent calls. A null next_cursor signals the final page. Recipe comments require a two-step chain: call get_recipe first to obtain article_id, then pass that value to get_recipe_comments.
The Liquor API is a managed, monitored endpoint for liquor.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when liquor.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official liquor.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a cocktail discovery app that searches recipes by spirit or ingredient using
search_recipesand displays structured timing and rating data fromget_recipe. - Aggregate user sentiment on cocktail recipes by pulling
upvotes,downvotes, andtextfields fromget_recipe_comments. - Paginate through the full sitemap via
list_all_recipesto build a local recipe index withlast_modifieddates for freshness tracking. - Power a category-browsing interface for cocktail types or occasions using
list_recipes_by_categorywith cursor pagination. - Ingest liquor.com editorial articles via
get_articleto extract spirits-education content for a knowledge base or recommendation engine. - Sync recipe ratings (
ratingValue,ratingCount) across multiple sources for cocktail ranking or comparison tools. - Filter and surface recipes by
tagsandyieldfields fromget_recipefor dietary or serving-size filtering in a drinks application.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does liquor.com have an official developer API?+
What does `get_recipe` return, and how does it connect to comments?+
get_recipe returns recipe metadata including title, author, rating, tags, ISO duration timing fields, and yield. It also returns an article_id numeric value. Pass that article_id to get_recipe_comments to retrieve user comments with text, created_at, upvotes, and downvotes for that recipe.Does the API return the actual ingredient list and step-by-step instructions for recipes?+
get_recipe response includes title, author, rating, tags, yield, and ISO timing fields, but does not expose a structured ingredients array or instructions steps as discrete fields. You can fork the API on Parse and revise it to add those fields if you need them.How does pagination work across the listing endpoints?+
list_recipes_by_category and list_all_recipes use opaque cursor-based pagination. Omit the cursor parameter on the first call. Each response includes a next_cursor string to pass on the next call, and returns null when there are no further pages. The limit parameter controls page size between 1 and 100.