Life Interiors APIlifeinteriors.com.au ↗
Access Life Interiors product data via 3 endpoints: search products, browse collections, and retrieve full variant and pricing details for Australian furniture.
What is the Life Interiors API?
The Life Interiors API provides access to the full product catalog of an Australian home interiors retailer across 3 endpoints. Using search_products, you can run keyword searches and get back product titles, pricing, availability, images, and tags for up to 10 matching results. The API also supports collection browsing and single-product lookups with complete variant-level detail.
curl -X GET 'https://api.parse.bot/scraper/49999552-e060-4fa3-9f0f-10b13e6fca19/search_products?limit=5&query=sofa' \ -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 lifeinteriors-com-au-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: Life Interiors SDK — search, browse collections, get product details."""
from parse_apis.lifeinteriors_com_au_api import LifeInteriors, ProductNotFound
client = LifeInteriors()
# Search for sofas — limit caps total items fetched
for product in client.products.search(query="sofa", limit=3):
print(product.title, product.price, product.vendor)
# Browse a collection by constructing it from a handle
sofas = client.collection(handle="sofas")
for item in sofas.list_products(limit=3):
print(item.title, item.price, item.compare_at_price)
# Drill down: get full product details from a search result
hit = client.products.search(query="dining table", limit=1).first()
if hit:
detail = hit.details()
print(detail.title, detail.vendor, detail.product_type)
for variant in detail.variants:
print(f" {variant.title}: ${variant.price} (SKU: {variant.sku})")
# Typed error handling: attempt to fetch a non-existent product
try:
client.products.get(handle="nonexistent-product-xyz")
except ProductNotFound as exc:
print(f"Product not found: {exc.handle}")
print("exercised: products.search / products.get / collection.list_products / hit.details")
Full-text search for products by keyword. Returns up to 10 matching products with pricing, availability, and image data. Results are ordered by relevance.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of products to return, between 1 and 10. |
| queryrequired | string | Search keyword or phrase to find products (e.g. 'sofa', 'dining table', 'oak bed'). |
{
"type": "object",
"fields": {
"total": "integer count of returned products",
"products": "array of product summaries with id, title, handle, vendor, product_type, pricing, image, url, and tags"
},
"sample": {
"data": {
"total": 5,
"products": [
{
"id": 4775019020387,
"url": "https://lifeinteriors.com.au/products/life-interiors-brooklyn-3-seater-sofa?_pos=1&_psq=sofa&_psid=0ad4d55d5&_ss=e&_v=1.0",
"tags": [
"free_shipping",
"Premium - 2 Man"
],
"image": "https://cdn.shopify.com/s/files/1/0295/7151/4467/files/LIFEINTERIORSSYDNEYSHOWROOM-84.jpg?v=1769122247",
"price": "1609.30",
"title": "Brooklyn 3 Seater Sofa",
"handle": "life-interiors-brooklyn-3-seater-sofa",
"vendor": "Life Interiors",
"available": true,
"price_max": "1839.20",
"price_min": "1609.30",
"product_type": "Sofas",
"compare_at_price_max": "2299.00",
"compare_at_price_min": "2299.00"
}
]
},
"status": "success"
}
}About the Life Interiors API
Endpoints and What They Return
The search_products endpoint accepts a required query string (e.g. 'sofa', 'oak bed', 'dining table') and an optional limit between 1 and 10. Each result in the products array includes id, title, handle, vendor, product_type, pricing, image, url, and tags. Results are ordered by relevance against the keyword.
Browsing Collections
list_collection_products takes a required collection handle such as 'sofas', 'chairs', 'bedroom', or 'coffee-tables' and supports pagination via page and limit (up to 250 products per page). The response includes page, count, limit, and a products array. Each product carries price, compare_at_price (useful for detecting sale items), image, url, tags, and published_at.
Full Product Detail
get_product retrieves complete information for a single item using its URL handle, obtainable from the other two endpoints. The response exposes variants (each with id, title, price, compare_at_price, sku, and option values), all images with src, alt, width, and height, options (e.g. colour, size), body_html for the full HTML description, vendor, and tags. This is the only endpoint that returns SKU-level data.
The Life Interiors API is a managed, monitored endpoint for lifeinteriors.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when lifeinteriors.com.au 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 lifeinteriors.com.au 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 tracking
compare_at_pricevspriceacross Life Interiors collections to surface discounted items. - Populate an interior design app with curated furniture options pulled from specific collection handles like
'outdoor'or'bedroom'. - Sync Life Interiors product data into a product information management system using
get_productfor full variant and SKU details. - Power a natural-language furniture search feature by passing user queries to
search_productsand displaying image and pricing results. - Monitor catalog additions in collections by comparing
published_attimestamps across paginatedlist_collection_productsresponses. - Generate product feed exports for affiliate marketing by collecting
title,url,price, andimagefields across all collections. - Filter furniture by vendor or product type using the
vendorandproduct_typefields returned by all three endpoints.
| 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 Life Interiors have an official developer API?+
What does `get_product` return that the other endpoints don't?+
get_product is the only endpoint that returns SKU-level data via the variants array (each variant includes sku, price, compare_at_price, and option values). It also returns all product images with dimensions, the full body_html description, and the options array listing available choices like colour or size. The search and collection endpoints return a single representative image and aggregated pricing only.How does pagination work in `list_collection_products`?+
page parameter starts at 1, and limit can be set between 1 and 250. The response echoes back the current page, the limit used, and a count of products returned in that response. There is no explicit total-product-count field in the collection response, so you paginate until a page returns fewer items than the requested limit.Does the API expose customer reviews or ratings for products?+
Are stock levels or inventory quantities available?+
variants in get_product include pricing and SKU but not a numeric stock count. You can fork this API on Parse and revise it to include inventory availability if the source exposes it.