TheMealDB
Food & Drink
Meal Recipes
Auth
apiKey
HTTPS
Yes
CORS
Yes
Common Use Cases
- •Build recipe discovery and meal planning apps
- •Create restaurant and food review platforms
- •Integrate nutritional data into health apps
Integration Guide
Review the API Documentation
Visit the official TheMealDB documentation to understand available endpoints, request formats, and response structures. Familiarize yourself with the API's rate limits and usage policies before integration.
Obtain an API Key
TheMealDB requires an API key for authentication. Register on the provider's website to get your unique key. Keep it secure and never expose it in client-side code — use environment variables or a backend proxy.
Use HTTPS for Secure Requests
TheMealDB supports HTTPS, ensuring encrypted communication. Always use HTTPS endpoints in production to protect data in transit and comply with modern web security standards.
CORS Enabled — Direct Browser Access
TheMealDB has CORS enabled, meaning you can make requests directly from the browser. This is ideal for frontend-only applications built with React, Vue, or vanilla JavaScript.
Implement and Test
Write your API integration code, start with a simple test request to verify connectivity. Implement proper error handling for network failures, rate limits, and invalid responses. Monitor your API usage to stay within any limits.
Code Examples
JavaScript / Fetch API:
// JavaScript example (with API key)
const apiKey = process.env.API_KEY; // Store your key securely
fetch("https://www.themealdb.com/api.php", {
headers: {
"Authorization": `Bearer ${apiKey}`,
// Or use: "X-API-Key": apiKey
// Check the docs for the correct header format
}
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => {
console.log("API response:", data);
})
.catch(error => {
console.error("Error fetching from TheMealDB:", error);
});Python / Requests:
# Python example (with API key)
import requests
import os
api_key = os.environ.get("API_KEY") # Store your key securely
headers = {
"Authorization": f"Bearer {api_key}",
# Or use: "X-API-Key": api_key
}
response = requests.get("https://www.themealdb.com/api.php", headers=headers)
if response.status_code == 200:
data = response.json()
print("API response:", data)
else:
print(f"Error: {response.status_code}")