Skip to main content

Food GST — HSN rate lookup

tip

Status: LIVE — Real-time data from the upstream regulator. Updated on the regulator's publication cadence.

What it does​

GST rate-card for food and beverage products is updated frequently and is hard to query authoritatively. Our API exposes the current HSN-to-rate mapping with effective dates and supersession history — the canonical surface for restaurant tech, food-aggregator pricing engines, and packaged-food invoicing.

Base URL​

https://foodgst.sahayakonline.co.in/v1/

Endpoints​

MethodPathDescription
GET/healthLiveness probe
GET/v1/gst/food/rateAll food HSNs with current rate
GET/v1/gst/food/rate/{hsn}Single HSN with effective-date history
GET/v1/gst/food/lookup?q=<query>Free-text product → HSN + rate

Sample request​

curl -sS https://foodgst.sahayakonline.co.in/v1/gst/food/lookup?q=cooking+oil \
-H "Authorization: Bearer $SAHAYAK_KEY" \
-H "Accept: application/json"

Sample response​

{
"spec_ref": "spec_10_Food_GST_HSN_Rate_API",
"endpoint": "/v1/gst/food/lookup",
"method": "GET",
"results": [
{ "hsn": "1507", "description": "Soyabean oil and its fractions, refined", "rate_pct": 5, "effective_from": "2022-07-18" },
{ "hsn": "1508", "description": "Ground-nut oil and its fractions", "rate_pct": 5, "effective_from": "2022-07-18" }
],
"meta": { "fixture_mode": false, "url": "https://foodgst.sahayakonline.co.in/v1/" }
}

Error codes​

CodeMeaningRecommended action
400Malformed request (missing required param, invalid format)Fix request shape. Response body includes error.field pinpointing the issue.
401Missing or invalid Authorization headerVerify key prefix matches your tier and that the header is Authorization: Bearer ….
403Key valid but not entitled to this endpointSandbox keys cannot call live-tier endpoints. Upgrade or request entitlement.
404Resource not foundCheck identifier format. Some endpoints return 200 with empty results[] instead of 404 — verify the endpoint convention.
429Rate limit exceededHonor Retry-After header. Sandbox 30 r/m, Starter 300 r/m, Growth 1500 r/m.
503Upstream regulator unreachable after retriesLive-tier only. Sahayak retries 3× with backoff before surfacing. Implement circuit-breaker on caller side.

Rate limits​

TierRate limitMonthly cap
Sandbox30 r/min1,000 live calls (shared across 3 LIVE endpoints)
Starter300 r/min10,000 live calls
Growth1,500 r/min100,000 live calls
Scalecustom500,000+

SLA reference​

See Status & SLA for uptime targets, latency targets, and incident communication. Rate changes following CBIC notifications land within 24 hours of publication.