boAt Lifestyle APIboat-lifestyle.com ↗
Fetch boAt Lifestyle's product catalog via API. List, search, and get detailed product data including prices, variants, and buy links from boat-lifestyle.com.
What is the boAt Lifestyle API?
This API provides 4 endpoints for accessing boAt Lifestyle's product catalog from boat-lifestyle.com. Use list_products to page through up to 250 products at a time with cursor-based pagination, search_products to query by keyword or title, and get_product_by_handle to retrieve full product detail including variants, tags, description, and price range for any individual item.
curl -X GET 'https://api.parse.bot/scraper/f8179fdd-1a5a-47da-bf87-dfbdf049dee1/list_products?limit=10' \ -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 boat-lifestyle-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.
"""Walkthrough: boAt Lifestyle SDK — browse, search, bulk-fetch, and drill into product details."""
from parse_apis.boat_lifestyle_boat_lifestyle_com_product_api import (
BoatLifestyle, ProductNotFound
)
client = BoatLifestyle()
# Browse the catalog — limit= caps total items fetched
for item in client.productsummaries.list(limit=5):
print(item.name, item.price.amount, item.price.currency, item.buy_link)
# Search for wireless earbuds
for result in client.productsummaries.search(query="earbuds", limit=3):
print(result.name, result.handle, result.available_for_sale)
# Bulk-fetch with server-side auto-pagination
for product in client.productsummaries.list_all(max_pages=1, page_size=5, limit=5):
print(product.name, product.price_range.min.amount)
# Get full product details by handle, with typed error handling
try:
product = client.products.get(handle="nirvana-uno")
print(product.name, product.vendor, product.product_type)
for variant in product.variants:
print(variant.title, variant.price.amount, variant.sku)
except ProductNotFound as exc:
print(f"product not found: {exc}")
# Navigate from summary to full detail via .details()
summary = client.productsummaries.search(query="speaker", limit=1).first()
if summary:
full = summary.details()
print(full.name, full.description, full.tags)
print("exercised: list / search / list_all / products.get / summary.details")
List products from the boAt catalog with cursor-based pagination. Each page returns up to 250 products with name, price range, buy link, and availability. Use end_cursor to advance to the next page. Products are ordered by internal catalog position.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of products to return per page (1-250). |
| cursor | string | Pagination cursor from a previous response's end_cursor. Omit to start from the beginning. |
{
"type": "object",
"fields": {
"items": "array of product objects with id, name, handle, buy_link, available_for_sale, price_range, compare_at_price_range, and price",
"end_cursor": "string cursor for the next page, or null if no more pages",
"has_next_page": "boolean indicating whether more pages are available"
},
"sample": {
"data": {
"items": [
{
"id": "gid://shopify/Product/1994163159138",
"name": "boAt Nirvanaa Uno | Wired Earphone with Mic, 8mm Drivers, Superior Coated Cable, 3.5mm Angled Jack, Secure Fit",
"price": {
"amount": 449,
"currency": "INR",
"amount_raw": "449.0"
},
"handle": "nirvana-uno",
"buy_link": "https://www.boat-lifestyle.com/products/nirvana-uno",
"price_range": {
"max": {
"amount": 849,
"currency": "INR",
"amount_raw": "849.0"
},
"min": {
"amount": 449,
"currency": "INR",
"amount_raw": "449.0"
}
},
"available_for_sale": false,
"compare_at_price_range": {
"max": {
"amount": 1990,
"currency": "INR",
"amount_raw": "1990.0"
},
"min": {
"amount": 1990,
"currency": "INR",
"amount_raw": "1990.0"
}
}
}
],
"end_cursor": "eyJsYXN0X2lkIjoyMTU5MTQwNDcwODgyLCJsYXN0X3ZhbHVlIjoyMTU5MTQwNDcwODgyLCJvZmZzZXQiOjR9",
"has_next_page": true
},
"status": "success"
}
}About the boAt Lifestyle API
Endpoints and Data Coverage
The API exposes four endpoints covering boAt Lifestyle's full consumer electronics catalog — earbuds, headphones, smartwatches, speakers, cables, and more. list_products accepts a limit (1–250) and an optional cursor for pagination, returning arrays of product objects each containing id, name, handle, buy_link, available_for_sale, price_range, compare_at_price_range, and price. page_info in the response carries has_next_page and end_cursor to step through the full catalog.
Searching and Bulk Fetching
search_products takes a required query parameter supporting simple keywords (e.g., earbuds) or field-scoped terms like title:airdopes, and returns the same product object shape plus an echoed query field. For bulk collection, get_all_products auto-paginates internally and accepts max_items, max_pages, page_size, and delay_s to control fetch behavior. Its response includes a summary object with count, pages_fetched, has_next_page, next_cursor, truncated, and truncation_reason — useful for knowing exactly where a run stopped.
Product Detail
get_product_by_handle fetches a single product using the handle from the product URL path (e.g., nirvana-uno from /products/nirvana-uno). This endpoint adds description, tags, and a full variants array of up to 100 entries, each with its own price and option values — making it the right endpoint when variant-level pricing or product copy is needed.
The boAt Lifestyle API is a managed, monitored endpoint for boat-lifestyle.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when boat-lifestyle.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 boat-lifestyle.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 comparison tool across boAt product lines using
price_rangeandcompare_at_price_rangefields. - Monitor product availability changes using the
available_for_salefield fromlist_productsorget_all_products. - Populate an affiliate site with product names, buy links, and prices by paginating the full catalog with
get_all_products. - Search for specific product categories (e.g., 'smartwatch' or 'title:rockerz') using
search_productsquery syntax. - Extract variant-level pricing and option combinations from
get_product_by_handlefor a product configurator. - Track catalog size and new product additions over time by comparing
countfromget_all_productssummary across runs. - Sync boAt product handles and metadata into an internal database using cursor-based pagination from
list_products.
| 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 boAt Lifestyle have an official developer API?+
What does get_product_by_handle return that the other endpoints don't?+
get_product_by_handle is the only endpoint that returns description, tags, and a full variants array (up to 100 entries). The list, search, and bulk endpoints return summary-level pricing (price_range, compare_at_price_range, price) and availability, but no per-variant data or product description text.How does cursor pagination work across endpoints?+
list_products and search_products return a page_info object containing end_cursor and has_next_page. Pass the end_cursor value as the cursor input on the next call to fetch the following page. get_all_products handles this loop internally, but also accepts a starting cursor if you want to resume from a known position.