The Cocktail API allows you to search thousands of cocktail recipes by name or ingredients.
HTTP GET
Returns up to 10 cocktail recipes matching the search parameters.
At least one of the below parameters must be present:
name
(optional) - name of cocktail. This parameter supports partial matches (e.g. bloody
will match bloody mary
and bloody margarita
)
ingredients
(optional) - comma-separated string of ingredients to search. Only cocktails containing all listed ingredients will be returned. For example, to search cocktails containing Vodka and lemon juice, use vodka,lemon juice
.
X-Api-Key
(required) - API Key associated with your account.
Live Demo!
https://api.api-ninjas.com/v1/cocktail?name=
[
{
"ingredients": [
"4.5 cl (3 parts) vodka",
"9 cl (6 parts) Tomato juice",
"1.5 cl (1 part) Lemon juice",
"2 to 3 dashes of Worcestershire Sauce",
"Tabasco sauce",
"Celery salt",
"Black pepper"
],
"instructions": "Stirring gently, pour all ingredients into highball glass. Garnish.",
"name": "bloody mary"
}
]
import requests
name = 'bloody mary'
api_url = 'https://api.api-ninjas.com/v1/cocktail?name={}'.format(name)
response = requests.get(api_url, headers={'X-Api-Key': 'YOUR_API_KEY'})
if response.status_code == requests.codes.ok:
print(response.text)
else:
print("Error:", response.status_code, response.text)
var name = 'bloody mary'
$.ajax({
method: 'GET',
url: 'https://api.api-ninjas.com/v1/cocktail?name=' + name,
headers: { 'X-Api-Key': 'YOUR_API_KEY'},
contentType: 'application/json',
success: function(result) {
console.log(result);
},
error: function ajaxError(jqXHR) {
console.error('Error: ', jqXHR.responseText);
}
});
const request = require('request');
var name = 'bloody mary';
request.get({
url: 'https://api.api-ninjas.com/v1/cocktail?name=' + name,
headers: {
'X-Api-Key': 'YOUR_API_KEY'
},
}, function(error, response, body) {
if(error) return console.error('Request failed:', error);
else if(response.statusCode != 200) return console.error('Error:', response.statusCode, body.toString('utf8'));
else console.log(body)
});
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import com.fasterxml.jackson.databind.ObjectMapper;
URL url = new URL("https://api.api-ninjas.com/v1/cocktail?name=bloody mary");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("accept", "application/json");
InputStream responseStream = connection.getInputStream();
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(responseStream);
System.out.println(root.path("fact").asText());
let name = "bloody mary".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: "https://api.api-ninjas.com/v1/cocktail?name="+name!)!
var request = URLRequest(url: url)
request.setValue("YOUR_API_KEY", forHTTPHeaderField: "X-Api-Key")
let task = URLSession.shared.dataTask(with: request) {(data, response, error) in
guard let data = data else { return }
print(String(data: data, encoding: .utf8)!)
}
task.resume()