Access thousands of recipes, ingredients, nutrition data, and cooking instructions through one REST API.
Free tier available — no credit card required
An API you can trust with transparent pricing, rock-solid infrastructure, and a developer experience that gets you shipping fast.
No hidden fees. No surprises on your invoice.
No multipliers, no "compute units." Total transparency.
Upgrade or downgrade anytime. You only pay for what you use.
Pay yearly on any plan and save.
Test every paid plan with full access. Cancel anytime.
Production-grade API you can depend on.
Average API response under 100ms. Optimized queries and edge caching.
Full recipe details, ingredients, and nutrition data in a single request.
6-month deprecation notice minimum. No breaking changes overnight.
Clean JSON responses. Every field documented. No guesswork.
From zero to first request in minutes.
Sign up, get your key, make your first call. That simple.
Test every endpoint directly in your browser. No setup required.
cURL, JavaScript, Python, PHP, Ruby, Go. Ready to copy-paste.
Every endpoint, parameter, and response documented with examples.
Copy, paste, ship. Code examples ready to go.
curl "https://recipeapi.io/api/v1/recipes?search=pasta" \
-H "Authorization: Bearer sk_live_..."
const API_KEY = "sk_live_...";
const response = await fetch(
"https://recipeapi.io/api/v1/recipes?search=pasta",
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const data = await response.json();
console.log(data);
import requests
API_KEY = "sk_live_..."
response = requests.get(
"https://recipeapi.io/api/v1/recipes",
params={"search": "pasta"},
headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()
print(data)
// composer require guzzlehttp/guzzle
const API_KEY = 'sk_live_...';
$client = new GuzzleHttp\Client();
$response = $client->get('https://recipeapi.io/api/v1/recipes', [
'query' => ['search' => 'pasta'],
'headers' => ['Authorization' => 'Bearer ' . API_KEY],
]);
$data = json_decode($response->getBody(), true);
require "net/http"
require "json"
API_KEY = "sk_live_..."
uri = URI("https://recipeapi.io/api/v1/recipes?search=pasta")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer #{API_KEY}"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
data = JSON.parse(res.body)
puts data
package main
import (
"fmt"
"io"
"net/http"
)
const apiKey = "sk_live_..."
func main() {
req, _ := http.NewRequest("GET",
"https://recipeapi.io/api/v1/recipes?search=pasta", nil)
req.Header.Set("Authorization", "Bearer "+apiKey)
resp, _ := http.DefaultClient.Do(req)
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
Get started in minutes
Generate your unique API key with just one click from the dashboard.
Go to DashboardUse our comprehensive documentation to integrate recipes into your app.
Documentation0
Recipes Available
0
API Endpoints
0
Ingredients
0
Languages
Choose the plan that fits your needs. Scale up anytime as your project grows.
Perfect for testing
For small projects
For growing applications
For large-scale apps
10-day free trial on all paid plans. Cancel anytime.
From mobile apps to enterprise platforms
Power your food delivery platform with comprehensive recipe data, cooking instructions, and nutritional information for millions of users.
Enhance your cooking blog or recipe website with a vast collection of recipes, complete with high-quality images (coming soon) and detailed instructions.
Build intelligent meal planning applications that help users create weekly menus, generate shopping lists, and track nutritional goals.
Streamline your restaurant operations with recipe standardization, inventory management, and menu planning tools powered by our API.
Everything you need to know about Recipe API
Getting started is simple. Create a free account, generate your API key from the dashboard, and you can start making requests immediately. Our documentation provides everything you need to integrate in minutes.
The Free plan includes 500 requests per month, access to basic recipe data, and community support. It's perfect for testing and small personal projects with no credit card required.
Yes, all paid plans (Essential, Business, and Enterprise) allow commercial use. The Free plan is intended for testing and non-commercial use only.
Our nutritional data is sourced from verified food databases and regularly updated. We provide calorie counts, with macronutrients, vitamins, and minerals coming soon. Values may vary slightly based on ingredient brands and preparation methods.
Yes. Free plan users have access to community support. Essential users receive email support. Business users get priority support. Enterprise customers benefit from dedicated 24/7 premium support.
Absolutely. Enterprise customers can request custom features, dedicated endpoints, and tailored integrations. Contact our sales team to discuss your specific requirements and we will work with you to find the best solution.
Access thousands of recipes, ingredients, and nutrition data through a simple REST API. Get started in minutes with our Free plan.
Free forever on the Free plan · 10-day free trial on paid plans · Cancel anytime