Torob APItorob.com ↗
Access Torob product search, price history, seller listings, specs, and store details via 12 API endpoints covering Iran's leading price comparison platform.
What is the Torob API?
The Torob API exposes 12 endpoints for querying Iran's largest price comparison platform, covering product search, detailed specs, seller listings, price history, and store profiles. Starting with search_products, you can query by Persian or English keywords, filter by category_id, and receive paginated results including each product's random_key, lowest price in Toman, and related categories — ready to chain into deeper lookups.
curl -X GET 'https://api.parse.bot/scraper/89fb9532-9c43-4bfe-8b83-a97933f4849c/search_products?page=0&sort=popularity&query=iPhone&category_id=94' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword or category on Torob. Returns paginated results with product summaries, prices, and related categories. Supports pagination and sorting.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-based) |
| sort | string | Sort order for results. |
| query | string | Search keyword (Persian or English) |
| category_id | string | Category ID to filter by (from get_categories results) |
{
"type": "object",
"fields": {
"count": "integer total number of matching products",
"results": "array of product summaries with random_key, name1, name2, price, image_url",
"has_more": "boolean indicating if more pages are available",
"categories": "array of related category objects with title and cat_id"
},
"sample": {
"data": {
"count": 1200,
"results": [
{
"name1": "گوشی آیفون 17 پرو مکس",
"name2": "Apple iPhone 17 Pro Max Not Active 256 GB",
"price": 362840000,
"image_url": "https://image.torob.com/base/images/Dw/ZS/DwZSKQ-pao4RArot.jpg",
"random_key": "18d33323-003c-40be-8405-1805d0b6719d"
}
],
"has_more": true,
"categories": [
{
"id": "94",
"slug": "گوشی-موبایل-mobile",
"title": "گوشی موبایل",
"cat_id": 94
}
]
},
"status": "success"
}
}About the Torob API
Product Discovery and Search
search_products accepts a query string in Persian or English alongside optional category_id, page (0-based), and sort parameters. Results include count, a has_more flag, and an array of product summaries carrying random_key, name1 (Persian), name2 (English), price, and image_url. The categories array in the response surfaces related category objects you can use to refine subsequent calls. If you need seller data inline with search results, search_products_with_sellers returns the same shape plus per-product seller arrays, seller_count, sellers_fetched, and a sellers_failed counter to identify partial failures on a single page.
Product Detail and Seller Data
get_product_details takes a product_uuid (the random_key from search) and returns the full record: name1, name2, min_price, max_price, variants, key_specs, breadcrumbs, and image_url. Seller-level data is separate: get_product_sellers returns each seller's shop_name, shop_id, price, availability, and score_info. For bulk workflows, get_product_sellers_bulk accepts a JSON array of up to 10 UUIDs in a single POST and returns either {product_uuid, seller_count, sellers} on success or {product_uuid, error} per failed item — failures are isolated, not batch-wide.
Specifications, Price History, and Similar Products
get_product_specs returns two structures: key_specs (a curated highlight list) and structural_specs (full categorized headers with key-value pairs). get_price_history delivers chart-ready data with labels as Persian-calendar date strings and chart_data datasets for average and minimum price over time. get_similar_products returns a list of related products with the same summary fields as search results.
Categories, Stores, and Suggestions
get_categories returns top-level categories with title, cat_id, id (the value to pass as category_id in search), slug, and a global products_count. get_store_details accepts a numeric store_id from seller results and returns name, domain, city, address, shop_score (1–5), and date_added. get_store_products retrieves paginated product listings for that store, optionally filtered by query. get_search_suggestions takes a query string and returns autocomplete candidates with text, suggestion_type, and suggestion_group.
The Torob API is a managed, monitored endpoint for torob.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when torob.com 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 torob.com 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?+
- Track price fluctuations for specific electronics using
get_price_historychart datasets over Persian-calendar date ranges - Build a seller comparison tool by fetching
get_product_sellersfor a UUID and ranking bypriceandscore_info - Monitor a store's full inventory with
get_store_productspaginated bystore_idand filtered by keyword - Power a Persian-language autocomplete search field using
get_search_suggestionssuggestion text and types - Aggregate product specs across categories by combining
get_categoriesIDs withget_product_specsstructural headers - Batch-check live seller availability across up to 10 products simultaneously using
get_product_sellers_bulk - Populate a 'you may also like' section by retrieving
get_similar_productsresults for a displayed product UUID
| 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 Torob have an official public developer API?+
What does `get_product_details` return beyond basic pricing?+
get_product_details returns min_price and max_price across all current sellers, a variants array (e.g. color or storage options), key_specs groups, breadcrumbs for the category path, and both name1 (Persian) and name2 (English) name fields alongside the product image_url.How does pagination work in search endpoints?+
search_products and search_products_with_sellers use a 0-based page integer parameter. The response includes a count of total matching products and a has_more boolean so you can detect when to stop paginating without computing offsets manually.Does the API expose user reviews or ratings for products?+
score_info, shop_score), and price history, but does not return individual user review text or aggregate star ratings. You can fork this API on Parse and revise it to add a reviews endpoint if that data is accessible on product pages.Are subcategories returned, or only top-level categories?+
get_categories returns only top-level categories with their cat_id, id, title, and slug. Subcategory hierarchies are not currently exposed as a standalone endpoint. You can fork this API on Parse and revise it to add a subcategory lookup using the category IDs available in product breadcrumbs returned by get_product_details.