๐Ÿ›’
SaveNest API
v2.0 Live
๐Ÿ“– Docs
๐Ÿ•ท๏ธ Grocery Price Intelligence

Crawl. Compare.
Save Smarter.

Real-time product price scraping across Pakistan's top grocery stores. Sitemap enumeration, BFS fallback, JSON-LD parsing โ€” all in one API.

5 Stores
500 Max / Call
3 Endpoints
PKR Currency
Supported Stores
Al-Fatah alfatah.pk
QnE qne.com.pk
Springs springs.com.pk
Vmart vmart.pk
GrocerApp grocerapp.pk
Endpoints
GET /health API status check โ–พ

Returns API operational status.

// Response { "ok": true }
GET /search Live product search across all stores โ–พ

Search for a product across all registered stores simultaneously. Returns deduplicated, price-sorted results.

ParameterTypeDescription
qrequired string Product keyword (e.g., "milk", "bread", "laptop")
limitoptional integer Max results (1โ€“100, default: 40)
// GET /search?q=milk&limit=10 { "query": "milk", "count": 4, "offers": [ { "source": "Al-Fatah", "title": "Olpers Full Cream Milk 1L", "price": 285.0, "currency": "PKR", "url": "https://alfatah.pk/products/...", "image": "https://...", "in_stock": true } ] }
GET /crawl Full store enumeration + scraping โ–พ

Enumerate ALL product URLs from a store via sitemaps (BFS fallback) and optionally scrape details. Use cursor for pagination.

ParameterTypeDescription
storerequired string Domain key, e.g. "alfatah.pk"
limitoptional integer Items per call (1โ€“500, default: 100)
cursoroptional integer Resume offset for pagination (default: 0)
modeoptional string "full" (scrape) or "urls" (enumerate only)
use_jsoptional 0|1 Override Playwright JS rendering
// GET /crawl?store=alfatah.pk&limit=50&cursor=0 { "store": "alfatah.pk", "count": 48, "items": [ /* array of product objects */ ], "next_cursor": 50, "total_urls": 1240, "enumeration": "sitemap_or_bfs", "js_fallback": true }
Live API Tester

Check if the API is running and operational.