Data API

Tool prices in rupees, price changes and tool scores, as JSON. Last updated 11 Nov 2026.

The same data as the open files on /data/, with a key, filters and pages, for your scripts, sheets and AI tools. Read only: GET, JSON, CORS open, so it works from a browser too. The data is refreshed with every site build; each answer says the date it was last checked (as_of).

Endpoints

AddressWhat you get
/api/v1/toolsEvery tool: category, cheapest paid price in rupees, how we got it, free plan or not, the day we checked, the vendor's pricing page. Filter with category or q.
/api/v1/tools/<slug>One tool: its price row, its score row and every price change we saw for it.
/api/v1/price-changes?since=2026-11-01Price and plan changes on or after a date: old line, new line, the page it was read on. Filter with slug or q.
/api/v1/scoresEvery tool's score out of 100 and its eight inputs. Our own measure from a public formula, not a user rating.

Lists come in pages: limit 1 to 500 (default 100) and offset. Each list answer has total, so you know when to stop.

Examples

curl -H "Authorization: Bearer $PGAI_KEY" \
  "https://productgrowth.in/api/v1/tools?category=payments&limit=20"
curl -H "Authorization: Bearer $PGAI_KEY" \
  "https://productgrowth.in/api/v1/price-changes?since=2026-11-01"
const r = await fetch("https://productgrowth.in/api/v1/tools/hubspot", {
  headers: { Authorization: "Bearer " + process.env.PGAI_KEY },
});
const tool = await r.json();   // { ok, slug, price, score, price_changes, as_of }

An answer looks like this (cut short):

{ "ok": true, "dataset": "Tool scores", "as_of": "2026-10-29",
  "licence": "CC BY 4.0", "attribution": "Cite productgrowth.in",
  "total": 360, "offset": 0, "limit": 100,
  "rows": [ { "slug": "aadhaar-bridge", "name": "Aadhaar Bridge", "score_points": 10, … } ] }

Key

Sign in, open your account → Products → Key for AI agents and make a key. It is free. Send it as Authorization: Bearer pgai_… (or an x-api-key header). It is the same key as the read API for AI agents. Keep it private; delete it there if it leaks. A new key works within a minute.

Limits

Calls a day, per key
Free key100
Data API plan10,000 on every key you own

The day resets at midnight UTC (5:30 am IST). Each answer carries X-RateLimit-Remaining. Over the limit you get 429, a plain message, a Retry-After header and, on a free key, the link to the plan. Only answers with data count; errors do not.

Data API plan

₹1,999 a month, GST included. 7 days free, then ₹1,999 a month until you cancel. Cancel before day 8 and you pay nothing.

10,000 calls a day on each of your keys. Cancel any time from your account. Changed your mind after the first charge? Within 7 days of your first payment, write to hello@productgrowth.in for a refund. Refunds

Errors

CodeMeans
401No key, or the key is not valid (deleted, or mistyped).
404No such address, or no tool with that slug.
400since is not a date like 2026-11-01.
429The key's calls for today are used, or more than 60 calls a minute from one address.
503Keys are busy or not switched on. Try again in a minute.

Terms

The data is CC BY 4.0: use it, also in paid products, and cite productgrowth.in with a link to the tool's page (the page field). Prices are what the vendor's own page said on the day we checked; check before you buy. Do not resell the raw feed as a feed. Questions: write to us.