Build with Nucleus
The unified India data platform — fuel prices, precious metals, train enquiry, PNR status & GST verification. One REST API, zero friction, free forever.
Base URL
Every Nucleus API request is made to the base URL below. All responses are JSON with UTF-8 encoding. CORS is enabled for all origins.
// Base URL for all requests
https://apiw.proxynex.pro
Authentication
Nucleus is a public API. No API keys, no tokens, no OAuth. Send a GET request, receive JSON. That's it.
Fuel & Precious Metals
Petrol, diesel, gold, silver and platinum prices across Indian cities & states. Commodity-agnostic schema — one endpoint, one param.
Latest prices for all locations. Defaults to petrol.
Switch commodity — petrol · diesel · gold · silver · platinum.
Single city lookup. Case-insensitive.
Filter by location type — state or city.
List all available cities for a commodity.
Fuzzy location search — up to 20 matches.
Daily price history for trend charts (max 90 days).
Crawl status & last-update timestamps.
Server, database & scheduler health.
#Query parameters
| Parameter | Values | Default | Required | Notes |
|---|---|---|---|---|
commodity | petrol · diesel · gold · silver · platinum | petrol | OPTIONAL | Required for metals |
city | mumbai, delhi, kolkata… | — | OPTIONAL | Case-insensitive |
state | west bengal, bihar… | — | OPTIONAL | Fuel only |
type | city · state | — | OPTIONAL | Location type filter |
q | any string | — | REQUIRED | For /fuel/search |
days | 1–90 | 7 | OPTIONAL | History window |
#Examples
# Gold in Delhi — 24K / 22K / 18K { "status": "ok", "data": [{ "location": "Delhi", "location_type": "city", "unit": "per_gram_24k", "price": 14437.00, "details": { "price_22k": 13225, "price_18k": 10831 } }] }
# National gold history — last 7 days { "status": "ok", "data": [ { "date": "2026-08-02", "price": 14422.00 }, { "date": "2026-08-01", "price": 14422.00 }, { "date": "2026-07-31", "price": 14386.00 } ] }
Train Enquiry
Live Indian Railways data — trains between stations, train information, routes and PNR status with automatic provider failover.
All trains between two stations (station codes).
Optional date filter — YYYYMMDD format.
Train details — name, endpoints, timing, type, classes.
Station-wise route — timings & coordinates.
PNR status — train, date, class & passenger-wise status.
#Examples
# Trains between Mumbai Central and New Delhi { "status": "ok", "count": 12, "trains": [{ "train_number": "12951", "train_name": "NDLS TEJAS RAJ", "from": { "name": "Mumbai Central", "code": "MMCT" }, "to": { "name": "New Delhi", "code": "NDLS" }, "departure": "17.00", "arrival": "08.32", "duration": "15.32" }] }
#PNR status
# Booking status — passenger-wise { "status": "ok", "pnr": "6705123201", "train_number": "13185", "train_name": "GANGA SAGAR EXP", "travel_date": "05-08-2026", "from": { "code": "ASN", "name": "Asansol Junction" }, "to": { "code": "JYG", "name": "Jaynagar" }, "class": "3A", "chart_prepared": false, "passengers": [ { "number": 1, "booking_status": "CNF B1 52", "current_status": "CNF" }, { "number": 2, "booking_status": "CNF B1 51", "current_status": "CAN/MOD" } ] }
MMCT, NDLS, DDR).GST Verification
Verify any GSTIN instantly — legal name, trade name, address, registration status, constitution & GPS coordinates.
Verify GSTIN — complete taxpayer profile.
#Example
{
"status": "ok",
"gstin": "19HKJPM4450C1Z1",
"trade_name": "GENX COMPUTER",
"legal_name": "Arnab Modak",
"registration_status": "Active",
"registration_date": "22/06/2024",
"constitution": "Proprietorship",
"taxpayer_type": "Regular",
"nature_of_business": ["Retail Business", "Others"],
"state": "West Bengal",
"address": "C/O Haradhan Modak, Radhanagar, Ghatal",
"lat": 22.666033,
"lon": 87.732022
}
Z + check digit. Malformed input returns 400.Website Screenshots
Capture any public web page as a PNG image — full-page or viewport. Powered by headless Chromium, zero API key.
Viewport screenshot — returns image/png directly.
Full-page capture — entire scrollable page.
Custom viewport width (320–2560).
Extra wait for JS-heavy sites (0–10000ms).
#Parameters
| Parameter | Values | Default | Required | Notes |
|---|---|---|---|---|
url | any http(s) URL | — | REQUIRED | Must be public, no localhost |
width | 320–2560 | 1280 | OPTIONAL | Viewport width px |
height | 240–2560 | 800 | OPTIONAL | Viewport height px |
full | true · false | false | OPTIONAL | Full-page capture |
wait | 0–10000 | 1500 | OPTIONAL | ms to wait for JS |
#Usage
# Returns image/png — use directly in <img> or download curl "https://apiw.proxynex.pro/screenshot?url=https://examtrend.in&full=true&width=1280" -o page.png # In HTML <img src="https://apiw.proxynex.pro/screenshot?url=https://store.proxynex.pro&width=900" /> # Python import requests r = requests.get("https://apiw.proxynex.pro/screenshot", params={"url": "https://examtrend.in", "full": "true"}) open("shot.png", "wb").write(r.content)
Status codes
Rate limits
| Endpoint group | Limit | Notes |
|---|---|---|
/fuel* | 60 req/min | Database-backed — fast |
/train* | 20 req/min | Live upstream fetch |
/train/pnr | 10 req/min | Multi-provider failover |
/gst | 10 req/min | Live registry lookup |
API tester
// Response will appear here…
Quick start
const res = await fetch("https://apiw.proxynex.pro/fuel?commodity=gold&city=mumbai"); const data = await res.json(); console.log(data.data[0].price); // gold ₹/gram
const res = await fetch("https://apiw.proxynex.pro/train?from=MMCT&to=NDLS"); const { trains } = await res.json(); trains.forEach(t => console.log(t.train_number, t.train_name));
import requests r = requests.get("https://apiw.proxynex.pro/fuel", params={"commodity": "diesel", "type": "state"}).json() for row in r["data"]: print(row["location"], row["price"])
curl "https://apiw.proxynex.pro/train/pnr?number=6705123201" curl "https://apiw.proxynex.pro/gst?number=19HKJPM4450C1Z1"