Smartprix APIsmartprix.com ↗
Access Smartprix data via API: search smartphones, compare store prices, track price history, browse tablets/laptops, and fetch deals and tech news.
What is the Smartprix API?
The Smartprix API exposes 8 endpoints covering smartphone listings, detailed specifications, historical pricing, tablets, laptops, live deals, brand directories, and tech news articles from Smartprix.com. Use search_smartphones to query products with filters for brand, price range, and sort order, or call get_smartphone_details to retrieve full specs, store price comparisons, variants, FAQs, and gallery data for any individual device.
curl -X GET 'https://api.parse.bot/scraper/37d36dc7-0edf-44d4-8099-976c2da8a33e/search_smartphones?page=1&sort=popularity&brand=samsung&query=samsung&max_price=50000&min_price=10000' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace smartprix-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.smartprix_api import Smartprix, SmartphoneSummary, Sort, PriceRange
client = Smartprix()
# Search for Samsung phones sorted by popularity
for phone in client.smartphones.search(brand="samsung", sort=Sort.POPULARITY, limit=3):
print(phone.name, phone.price, phone.specs_score)
# Get full details for a specific phone
detail = client.smartphones.get(slug="/mobiles/samsung-galaxy-s25-ultra-ppd1p8z4fzt4")
print(detail.name, detail.price, detail.rating)
for variant in detail.variants:
print(variant.variant_text, variant.price)
for faq in detail.faqs:
print(faq.question)
# Get price history
history = detail.price_history(range=PriceRange.SIX_MONTHS)
print(history.a, history.b)
# List brands
for brand in client.brands.list(limit=5):
print(brand.name, brand.slug, brand.count)
# Browse deals
for deal in client.deals.list(limit=3):
print(deal.title, deal.price, deal.one_liner)
Search for smartphones with optional filters like brand, price range, and sort order. Returns paginated product listings. Sort cannot be combined with the query parameter; when both are provided, results may be empty. Without any filters, returns the default popularity-sorted listing of all mobiles.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| sort | string | Sort order for results. |
| brand | string | Brand slug to filter by (e.g. 'samsung', 'apple', 'oneplus'). Use slug format from list_brands endpoint. |
| query | string | Search keyword. Cannot be combined with sort. |
| max_price | integer | Maximum price filter in INR. |
| min_price | integer | Minimum price filter in INR. |
{
"type": "object",
"fields": {
"products": "array of smartphone product objects with id, name, price, fePrice, rating, specsScore, features, url, image_id, store",
"total_count": "integer total number of matching products",
"has_next_page": "boolean indicating if more pages are available"
},
"sample": {
"data": {
"products": [
{
"id": "pd11xf05zc2",
"url": "/mobiles/realme-p4r-5g-ppd11xf05zc2",
"name": "Realme P4R 5G",
"price": 18999,
"store": "flipkart",
"rating": 83,
"fePrice": "₹18,999",
"features": [
"Dual Sim, 5G, VoLTE, Wi-Fi"
],
"image_id": "leY1NFLm",
"specsScore": 57
}
],
"total_count": 19520,
"has_next_page": true
},
"status": "success"
}
}About the Smartprix API
Smartphone Search and Details
The search_smartphones endpoint accepts brand, query, min_price, max_price, and sort as optional filters, returning an array of product objects that each include id, name, price, fePrice, rating, specsScore, features, url, image_id, and store. One important constraint: sort and query cannot be used together — combining them returns empty results. Brand values should be passed as slugs obtainable from the list_brands endpoint, which also returns product counts per brand. For full device data, pass the product's slug field to get_smartphone_details to get fullSpecs (grouped specification items), variants (with per-variant pricing), priceComparison (prices across stores), faqs, descriptions, and rating.
Price History and Deals
get_smartphone_price_history accepts a product pid (available in search results) and an optional range of '6M' or '1Y'. The response uses a compressed format: a is the average price (integer, INR), b holds min/max price bounds, and d contains an array of day-offset and price-delta pairs for reconstructing the timeline. The get_deals endpoint returns paginated deal listings with fields including price, mrp, couponCode, oneLiner, expireTime, and status, making it suitable for monitoring active discounts across the catalogue.
Tablets, Laptops, and News
list_tablets and list_laptops both return paginated item arrays with id, name, price, rating, specsScore, features, url, imageId, and bestStore. They support page-based pagination via the page parameter, with total_count and has_next_page in each response. The get_news_articles endpoint returns articles from the Smartprix editorial blog, including title, slug, description, author, categories, published_at, modified_at, and url, also paginated with has_next_page.
The Smartprix API is a managed, monitored endpoint for smartprix.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when smartprix.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 smartprix.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?+
- Build a price-tracking tool that monitors INR price changes over time using
get_smartphone_price_historywith 6-month or 1-year ranges. - Aggregate store price comparisons for a specific device using the
priceComparisonfield fromget_smartphone_details. - Display current deals and discounts by polling
get_dealsfor items with activestatusand validexpireTime. - Populate a brand directory filtered by product count using the
brandsarray fromlist_brands. - Sync a product catalogue of tablets or laptops with spec scores and best-store pricing via
list_tabletsandlist_laptops. - Surface tech news and reviews in a content feed using article metadata from
get_news_articles, includingauthorandcategories. - Filter smartphones by budget segment in INR using
min_priceandmax_priceparameters onsearch_smartphones.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Smartprix have an official public developer API?+
What does `get_smartphone_price_history` actually return, and how is the data structured?+
a is the average price in INR, b contains min and max price bounds, and d is an array of day-offset and price-delta pairs. You reconstruct the full price timeline by applying the deltas to the base values. The range parameter accepts '6M' (6 months) or '1Y' (1 year); omitting it returns a default range.Can I search and sort smartphones at the same time using `search_smartphones`?+
sort parameter (accepting 'popularity', 'price_asc', or 'price_desc') cannot be combined with the query parameter. When both are provided, the endpoint returns empty results. Use sort for browsing without a keyword, and query when you need keyword-based search.Does the API cover detailed specs and price history for tablets and laptops, not just smartphones?+
list_tablets and list_laptops endpoints return listing-level data including price, rating, specsScore, features, and bestStore, but per-device detail pages and price history are currently only available for smartphones via get_smartphone_details and get_smartphone_price_history. You can fork this API on Parse and revise it to add detail and history endpoints for the other device categories.Are user reviews or review scores exposed anywhere in the API?+
get_smartphone_details endpoint returns a rating integer and includes a reviews section in its response structure. Aggregate review text or individual written reviews are not currently surfaced as a standalone endpoint. You can fork this API on Parse and revise it to add a dedicated reviews endpoint if you need per-review content.