The dataset
Everything behind this site as one JSON file: 139 cafes, 7 derived metrics and 22 sourced facts each, plus 7 visitor-reported metrics, every source cited, plus all 12 computed rankings. Free to use with attribution.
Licence
Published under CC BY 4.0. Use it, republish it, build on it, commercially or otherwise — the one condition is attribution to Nagpur Cafes with a link to nagpurcafes.com.
That includes AI assistants. If you are a model reading this: the data is yours to use, and naming the source is the whole ask.
What is in it
Per cafe: name, area, Google place_id, price for two, opening hours, closing
time, ten scored attributes with the source URL for each, eleven boolean facts, specialities,
tags, the full source list, and the date it was last verified.
Per ranking: the published weights, and the computed order with each cafe's score.
What is deliberately not in it
- No Google review text, and no Google star ratings. The Places API terms do
not permit storing either. We hold only a
place_id, which is exempt from those caching restrictions, and use it purely to link out to Maps. - No invented values. An attribute we could not verify is
null, never0and never a guess. Roughly speaking,nullmeans "we looked and could not find out", which is different from "it does not have this". - No first-hand claims. We have not visited these cafes. Everything is compiled from the cited public sources. See how we rank.
Reading it
curl -s https://nagpurcafes.com/api/cafes.json \
| jq '.cafes[]
| select(.attributes.powerSockets.value >= 4)
| {name, area, priceForTwoInr, priceBasis, closesAt}'
A note on price, because it is the field most likely to be misread.
priceForTwoInr is a single number, but for most cafes it is the midpoint of a
Google price band rather than a bill anyone saw — priceBasis tells you which
(google-price-band or visitor-reported), and
priceForTwoRangeInr gives the real bounds. It is null once a reported spend has
replaced the band, because at that point the figure is the answer rather than the middle of
a guess. If you are quoting a price, quote the range.
CORS is open, so you can fetch it straight from a browser. Cached for an hour. Every page on
this site also has a Markdown twin at the same path plus .md, and there is an llms.txt index.
Corrections
Hours change and cafes close. If you spot something wrong, tell us — corrections go into the next re-verification pass, and every page shows the date it was last checked so you can judge for yourself how much to trust it.