Repository navigation
API Reference
github-actions[bot] edited this page Sep 4, 2026
·
1 revision
Every Snapp Market and Digikala Jet endpoint the app uses is documented in the repository, in Persian, field by field:
Kept there rather than copied here so it cannot drift from the code that depends on it.
Snapp Market (/api/snapp/* → https://svc.snapp.market, bearer token)
| Endpoint | Used for |
|---|---|
POST /mobile/v4/user/loginMobileWithNoPass |
Send the SMS code |
POST /mobile/v2/user/loginMobileWithToken |
Exchange it for a session |
POST /oauth2/default/token |
Refresh the access token |
GET /market-party/{lat}/{lng} |
Nearby stores in the campaign — the feed's source |
GET /market-party/{vendorCode} |
One store's full campaign shelf |
GET /mobile/v2/product-variation/search |
The price of record — what the store lists |
GET /mobile/v3/product-vendors/search |
Ordinary catalogue search |
GET /express-vendor/general/vendors-list |
Every nearby store, with Pro-adjusted fees |
GET /mobile/v3/search/suggest |
Search suggestions |
Digikala Jet (/api/jet/* → https://api.digikalajet.ir)
| Endpoint | Used for |
|---|---|
POST /user/login-register/ |
Send the code, returns a flow token |
POST /user/confirm-phone/ |
Exchange code + flow token |
GET /products/search/all/ |
Search every shop in range |
GET /post-process/amazing-widget-on-other-lines/1/ |
The شگفتانگیز row |
GET /v2/products/galaxy/ |
The paginated campaign listing |
GET /address/ |
The account's saved addresses |
- Snapp Market quotes Toman, Digikala Jet quotes Rial. Jet's client divides by ten at the boundary.
-
finalPrice = price - discounton both;priceis the pre-discount figure. -
GET /market-party/{lat}/{lng}changes shape with pagination: withoutpageit returnsdata.products.List, withpageit returnsdata.vendors[]. - The campaign feed and the store shelf give the same product different
productVariationIds, so confirmation matches on the title. - Jet's
/v2/products/galaxy/is fixed at five rows per page and returns nothing at all if you add an unknown parameter trying to ask for more. - Neither API sends CORS headers for a third-party origin, which is why every
call goes through this app's own
/api/*proxy.
Open the browser's network panel and use the app; every upstream call appears as
/api/snapp/... or /api/jet/.... Every one carries your token — strip the
Authorization header before sharing anything.
Independent open-source project · no affiliation with Snapp or Digikala · MIT