sarker APIsarker.shop ↗
Search and retrieve tech products from sarker.shop: prices in BDT, specs, variants, ratings, reviews, categories, and brands via 4 structured endpoints.
What is the sarker API?
The sarker.shop API provides access to the store's tech product catalog across 4 endpoints, covering phones, earbuds, chargers, and smart watches sold on sarker.shop. The search_products endpoint lets you filter by category, brand, price range, rating, and free-text query, returning up to 20 products per page with full pricing in BDT, specifications, variants, and review data. Catalog helpers expose every available brand and category with slugs ready for filtering.
curl -X GET 'https://api.parse.bot/scraper/eebef889-9907-46bd-8f55-21f388d9c441/search_products?query=headphone' \ -H 'X-API-Key: $PARSE_API_KEY'
Searches the store catalog and returns one page of up to 20 products with full detail (price in BDT, discount price, brand, category breadcrumbs, images, key/value specifications, variants, rating, reviews, questions, stock). All filters are optional and combine with AND: free-text query, category slug, brand slug, min/max price, minimum average rating and featured-only. Results are ordered by the store's default (newest first); sorting is not supported by the store. Paging is by `page` (default 1); `total_count` is the store's count of all matches and `has_more` tells whether a next page exists. Requesting a page beyond the last returns a stale_input error; a filter combination that matches nothing returns an empty `products` array with `total_count` 0.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page number; each page holds up to 20 products. |
| query | string | Free-text search matched against product names and descriptions. Omitted = no text filter. |
| max_price | number | Maximum price in BDT (inclusive). |
| min_price | number | Minimum price in BDT (inclusive). |
| brand_slug | string | Brand slug from list_brands.brands[*].slug. Omitted = all brands. An unknown slug returns an empty result. |
| min_rating | number | Minimum average customer rating on a 0-5 scale (inclusive), e.g. 4. |
| category_slug | string | Category slug from list_categories.categories[*].slug (e.g. smart-phones). Omitted = all categories. An unknown slug returns an empty result. |
| featured_only | boolean | When true, only products the store marks as featured are returned. |
{
"type": "object",
"fields": {
"page": "page number returned",
"query": "the text query applied, or null",
"has_more": "true when a later page exists",
"products": "array of product records; each has id, product_code, sku, name, slug (use with get_product), description, short_description (HTML), price, discount_price, currency (BDT), brand {id,name,slug}, category {id,name,slug,breadcrumbs}, image, gallery_images, specifications [{key,value}], variants, rating, reviews_count, reviews, questions, product_type, stock_quantity, sold_count, is_featured, is_bestseller, is_active, created_at, updated_at, url",
"total_count": "store-reported number of products matching all filters"
},
"sample": {
"data": {
"page": 1,
"query": "headphone",
"has_more": false,
"products": [
{
"id": 164,
"sku": "SS788345",
"url": "https://sarker.shop/product/foneng-t67-35mm-in-ear-wired-earphone",
"name": "FONENG T67 3.5mm In-Ear Wired Earphone",
"slug": "foneng-t67-35mm-in-ear-wired-earphone",
"brand": {
"id": 7,
"name": "Foneng",
"slug": "foneng"
},
"image": "https://sarker.shop/media/products/gallery/t67-black-500x500_5WryTVP.webp",
"price": 399,
"rating": 0,
"reviews": [],
"category": {
"id": 25,
"name": "Wired Headphones",
"slug": "wired-headphones",
"breadcrumbs": [
{
"id": 25,
"name": "Wired Headphones",
"slug": "wired-headphones"
}
]
},
"currency": "BDT",
"variants": [],
"is_active": true,
"questions": [],
"created_at": "2026-04-26T16:07:13.621157+06:00",
"sold_count": 0,
"updated_at": "2026-04-26T16:07:13.621171+06:00",
"description": "",
"is_featured": false,
"product_code": "SS788345",
"product_type": "simple",
"is_bestseller": false,
"reviews_count": 0,
"discount_price": null,
"gallery_images": [],
"specifications": [
{
"key": "Brand",
"value": "Foneng"
},
{
"key": "Model No",
"value": "T67"
},
{
"key": "Connector",
"value": "3.5mm"
}
],
"stock_quantity": 20,
"short_description": ""
}
],
"total_count": 6
},
"status": "success"
}
}About the sarker API
Product Search and Detail
search_products accepts up to seven optional filters—query, category_slug, brand_slug, min_price, max_price, min_rating, and featured_only—and returns a paginated list of matching products (up to 20 per page). Each product record includes id, slug, name, product_code, sku, description, short_description (HTML), price and discount price in BDT, brand, category breadcrumbs, images, key/value specifications, variants, rating, reviews, questions, and stock quantity. The has_more and total_count fields support pagination and result-count display.
Per-Product Data
get_product takes a slug from search_products results and returns the complete record for one item. Notable response fields include variants—an array with per-variant sku, price, discount_price, stock_quantity, ram, storage, color, and is_active—and reviews, which carries individual customer entries with rating, comment, customer_name, and created_at. Simple products (no RAM/storage/colour options) return an empty variants array. The currency field is always BDT.
Category and Brand Catalogs
list_categories and list_brands each return their full catalogs in a single unpaginated response. Categories include parent_id, nested children, and breadcrumbs arrays, making it straightforward to reconstruct hierarchy. Brands return id, name, slug, and logo. Slugs from both endpoints feed directly into search_products filters; passing an unrecognized slug returns an empty result set rather than an error.
The sarker API is a managed, monitored endpoint for sarker.shop — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sarker.shop changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official sarker.shop API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a price-tracking tool for smartphones in BDT using
search_productswithcategory_slugand polling for discount price changes. - Aggregate customer sentiment by collecting
reviewsarrays fromget_productacross a brand's entire product range. - Populate a comparison table for phone variants (RAM, storage, colour) using the
variantsfield fromget_product. - Filter featured tech deals with
featured_only=truecombined with amax_pricecap for a deals newsletter. - Build a brand directory page by iterating
list_brandsand linking each brand'sslugto a filteredsearch_productsresult. - Render a navigable category tree for a price-comparison site using the
childrenandbreadcrumbsfields fromlist_categories. - Monitor stock availability per variant using
stock_quantityfrom thevariantsarray inget_product.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does sarker.shop have an official developer API?+
How does pagination work in `search_products`?+
page parameter (1-based) to advance through results. The has_more boolean in the response indicates whether a subsequent page exists, and total_count gives the store-reported total matching all active filters.What does the `variants` field in `get_product` contain, and when is it empty?+
variants is an array of objects each holding sku, price, discount_price, stock_quantity, ram, storage, color, and is_active. For products that have no configurable options (simple products), the array is empty.Does the API return order history, wishlist data, or account information for store customers?+
Are product questions (Q&A) returned alongside reviews?+
search_products and get_product include a questions field in the product record in addition to the reviews array. Currently the API does not support submitting new questions or reviews; it covers read access to catalog and community content only. You can fork it on Parse and revise to add write-oriented endpoints.