Food & Drink — entry 006 of 20

Fruityvice

Verified Jul 2026

Fruityvice returns per-fruit nutrition data — calories, sugar, carbohydrates, and protein — searchable by name, family, order, or genus, as a small free reference dataset. A live GET against the real host, www.fruityvice.com, returned genuine JSON with no Access-Control-Allow-Origin header, resolving cors unknown -> no; auth None was reconfirmed by the same keyless 200.

Fruityvice is a small, free, keyless reference dataset of per-fruit nutrition facts -- calories, sugar, carbohydrates, and protein -- searchable by name, family, order, or genus. A live GET this run against `/fruit/all` returned exactly **49 fruits across 26 families** -- this is a small curated list, not a comprehensive catalogue, so don't expect "hundreds of fruits" here.

fruitnutritionreference-data
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/fruityvice/"><img src="https://greatapis.com/badge/fruityvice.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key, signup, or credit card required -- a live GET this run against `/fruit/banana` returned a genuine nutrition record with zero credentials. There's no key to add for browser use either: see the CORS gotcha below, since Fruityvice is keyless from every client but still unusable from a browser.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Look up a fruit by name

GEThttps://www.fruityvice.com/api/fruit/banana

200 application/json

{"name":"Banana","id":1,"family":"Musaceae","order":"Zingiberales","genus":"Musa","nutritions":{"calories":96,"fat":0.2,"sugar":17.2,"carbohydrates":22.0,"protein":1.0}}

Every route -- single-name lookup, `/fruit/all`, and the family/order/genus lookups below -- returns this same flat shape (or an array of it), confirmed live this run. Figures under `nutritions` are per 100g and don't change run to run; treat them as reference data, not a live feed.

Try it

Developer reference

Base URLhttps://www.fruityvice.com/api
Key endpoints
  • GET/fruit/{name}
  • GET/fruit/all
  • GET/fruit/family/{family}

Gotchas & limits

  • Fruityvice is keyless from any client but **unusable from a browser**: cors is stored `no` because a live GET this run returned genuine JSON with no `Access-Control-Allow-Origin` header at all, on either a plain request or a follow-up with an `Origin` header set. Server-side requests (curl, backend HTTP clients) work fine; a real browser `fetch()` from another origin is blocked by the browser itself.
  • An unknown fruit name is a real **HTTP 404**, unlike some of this catalogue's other keyless APIs that return 200 with an empty body -- a live GET this run against `/fruit/notarealfruit` returned `404 {"error":"Not found"}`. Check the status code, not just whether the body parses.
  • `/fruit/family/{family}` matching is case-insensitive, unlike the plain-name lookup above -- live GETs this run against `/fruit/family/Rosaceae`, `/fruit/family/rosaceae`, and `/fruit/family/rOsAcEaE` all returned the identical 11-fruit array (Strawberry, Pear, Blackberry, ...), while an unmatched family name is a real 404 (`/fruit/family/NotARealFamily` returned `{"error":"No fruit with 'NotARealFamily' as its family was found"}`).
  • There is no bulk nutrition-only endpoint -- `/fruit/all` returns the full 49-fruit array with every field already inlined, so there's no separate lightweight listing route to reach for first.