The protein layer for your website ๐น
Protein Hunter's food data is free for other websites to use. Add a protein calculator to your recipe blog, pull protein values into your fitness app, or compare foods on your coaching site โ no account, no API key, no cost. 232 curated foods with protein and calories per 100 g, the same numbers the Protein Hunter app itself uses.
1. Add a widget (no code)
Pick a widget, copy the snippet, paste it into your page. It works in WordPress, Squarespace, Webflow, Shopify, Ghost, Notion embeds and plain HTML.
Visitors pick a food and a portion, and get protein + calories instantly.
A handle credits every view, interaction and signup back to you โ no personal data is collected from your visitors.
<div data-protein-hunter="calculator"></div>
<script src="https://proteinhunter.app/embed.js" async></script>- 1.Open the page or post where you want the tool.
- 2.Click the "+" button and add a "Custom HTML" block.
- 3.Paste the code into the block.
- 4.Click Update or Publish โ the tool appears straight away.
Using the Classic editor? Switch to the Text tab before pasting.
2. Use the API
Plain JSON over HTTPS. CORS is open, so you can call it straight from the browser. Responses are cacheable and every response carries its attribution block.
/api/public/v1/foodsEvery food in the catalog. Filter with ?category=, page with ?limit= & ?offset=.
Try it: /api/public/v1/foods?category=Legumes&limit=5/api/public/v1/foods/{id}One food plus five nutritionally similar foods. Accepts an id or a name.
Try it: /api/public/v1/foods/chicken-breast/api/public/v1/searchSearch the catalog by name or category.
Try it: /api/public/v1/search?q=tofu&limit=5/api/public/v1/compareCompare two foods and get the protein difference in plain language.
Try it: /api/public/v1/compare?a=chicken-breast&b=tofu-firm/api/public/v1/calculateProtein and calories for a portion. POST { items: [{ food, grams }] } for a whole meal.
Try it: /api/public/v1/calculate?food=salmon&grams=180fetch("https://proteinhunter.app/api/public/v1/calculate?food=chicken-breast&grams=150")
.then((r) => r.json())
.then((d) => console.log(d.total_protein_g)); // 46.53. Badges
Show your readers where the numbers come from. Each badge links back to Protein Hunter.
<a href="https://proteinhunter.app"><img src="https://proteinhunter.app/badge/powered.svg" alt="Powered by Protein Hunter" height="32"></a>Limits & fair use
- Free and anonymous: 60 requests per minute and 10,000 per day, no key required.
- A free API key raises that to 300 per minute and 100,000 per day, and shows your usage.
- Every response returns
X-RateLimit-Limit,X-RateLimit-RemainingandX-RateLimit-Reset. Over the limit you get a 429 withRetry-After. - Need more volume or a commercial integration? Email us โ higher tiers are coming.
- Attribution is required: keep the "Powered by Protein Hunter" link in the widget, or link to proteinhunter.app where you display the data.
- Do not present the data as medical advice or claim it as your own dataset.
Accuracy
Values are grams of protein and kilocalories per 100 g of the food as described (cooked where stated, dry where stated), curated and reviewed by hand. Carbohydrate and fat values are deliberately not published yet โ we would rather ship nothing than ship numbers we have not verified. See our data methodology.
Support
Questions, higher limits, partnership or a widget you wish existed โ get in touch. We read everything.