# Falabella API scraper — falabella.com (Chile, Colombia, Peru): search and browse products with the internet price, event price, CMR card price and struck normal price kept apart, Falabella vs marketplace seller with seller rating, stock and delivery options, specifications, variants, ratings and reviews. No account, no browser.

> Search Falabella by keyword in Chile, Colombia or Peru. Each product comes with the price anyone pays online (internet or event price), the CMR card price and the struck normal price in separate fields, the discount, the seller (Falabella, a Falabella group store such as Sodimac or Tottus, or a marketplace seller), delivery badges, interest-free installments, variants and Falabella's search rating. Sort by price or rating; filter by brand, rating, discount or any filter Falabella lists. Keywords Falabella sends to a collection, category or product are followed; sponsored rows are removed and counted.
> ReefAPI engine `falabella` · 5 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/falabella/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free except verified SHEIN NOT_FOUND on product/detail and price (4 credits).
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http, `Authorization: Bearer <key>`) and your assistant can call these actions directly.

## Endpoints

### POST /falabella/v1/search — 2 credits
Search Falabella by keyword in Chile, Colombia or Peru. Each product comes with the price anyone pays online (internet or event price), the CMR card price and the struck normal price in separate fields, the discount, the seller (Falabella, a Falabella group store such as Sodimac or Tottus, or a marketplace seller), delivery badges, interest-free installments, variants and Falabella's search rating. Sort by price or rating; filter by brand, rating, discount or any filter Falabella lists. Keywords Falabella sends to a collection, category or product are followed; sponsored rows are removed and counted.

**Parameters:**
- `query` (string, required) — Words a shopper would type on Falabella (Spanish).
- `country` (enum, optional, default "cl") — Falabella storefront: cl (falabella.com, CLP), co (falabella.com.co, COP) or pe (falabella.com.pe, PEN). Prices, currency and catalogue follow the country. [one of: cl, co, pe]
- `page` (integer, optional, default 1) — Result page, from 1. Falabella serves 48 organic products per page.
- `sort` (enum, optional, default "relevance") — Falabella's own sort orders. [one of: relevance, price_asc, price_desc, rating]
- `brand` (string, optional) — One brand as Falabella lists it (e.g. samsung); same as filters f.product.brandName=samsung.
- `min_rating` (integer, optional) — Only products rated at least this many stars (2-5), as Falabella's rating filter.
- `min_discount_pct` (enum, optional) — Only products discounted at least this much (Falabella's 20/30/40/50% steps). [one of: 20, 30, 40, 50]
- `filters` (array, optional) — Any filter exactly as returned in filters_available[].values[].filter of a previous call (price bucket, seller type, category, size, colour, …). Several may be sent.
- `include_sponsored` (boolean, optional, default false) — Sponsored rows are left out and counted in sponsored_dropped. true: returned with sponsored true.
- `include_fallback_results` (boolean, optional, default false) — When no product matches the keyword, Falabella fills the page with unrelated products. They are dropped and counted in fallback_results_dropped; true returns them separately in fallback_results.
- `max_rotations` (integer, optional, default 3) — How many fresh exits to try before giving up.

**Returns:** results[]{product_id, sku_id, title, brand, url, image, images[], price, price_max, price_type (internet|event|normal), cmr_price (CMR card only), list_price (struck), discount_pct, cmr_discount_pct, cmr_saving, other_prices[], currency, discount_badge_pct, seller{id, name, kind (falabella|falabella_group|marketplace), is_falabella, verified}, marketplace, search_index_rating, search_index_review_count (search-index figures; product/detail has the review system's), rating_scale, badges[], delivery_badges[]{type, label}, installments[]{count, interest_free, payment_methods[]}, top_specifications[], best_seller, product_type, variants[]{type, options[]{value, variant_id, available, purchasable, price, url}}, sponsored}, count (organic rows), sponsored_dropped, sponsored_included, total_results, total_pages, page, page_size, has_more, page_notice, filters_available[]{name, type, values[]{label, count, filter, selected}}, site_applied_filters[], redirected_to{type, id, url}, sort, applied_filters, country, currency, query, matched_query, keyword_matches_on_page, site_semantic_fallback, fallback_results_dropped, fallback_total, fallback_results[] (opt-in)

**Example request body:**
```json
{
  "query": "televisor"
}
```

### POST /falabella/v1/category — 2 credits
Every product in a Falabella category or collection (by id or URL), paged, with the same rows, sorts and filters as search, plus the category breadcrumb.

**Parameters:**
- `category` (string, required) — A Falabella category id (cat690239, CATG36089), a category URL (/falabella-cl/category/cat690239/Zapatillas-urbanas-mujer), a collection URL (/falabella-cl/collection/iphone) or a brand page URL (/falabella-cl/brand/SAMSUNG).
- `country` (enum, optional, default "cl") — Falabella storefront: cl (falabella.com, CLP), co (falabella.com.co, COP) or pe (falabella.com.pe, PEN). Prices, currency and catalogue follow the country. [one of: cl, co, pe]
- `page` (integer, optional, default 1) — Result page, from 1. Falabella serves 48 organic products per page.
- `sort` (enum, optional, default "relevance") — Falabella's own sort orders. [one of: relevance, price_asc, price_desc, rating]
- `brand` (string, optional) — One brand as Falabella lists it (e.g. samsung); same as filters f.product.brandName=samsung.
- `min_rating` (integer, optional) — Only products rated at least this many stars (2-5), as Falabella's rating filter.
- `min_discount_pct` (enum, optional) — Only products discounted at least this much (Falabella's 20/30/40/50% steps). [one of: 20, 30, 40, 50]
- `filters` (array, optional) — Any filter exactly as returned in filters_available[].values[].filter of a previous call (price bucket, seller type, category, size, colour, …). Several may be sent.
- `include_sponsored` (boolean, optional, default false) — Sponsored rows are left out and counted in sponsored_dropped. true: returned with sponsored true.
- `max_rotations` (integer, optional, default 3) — How many fresh exits to try before giving up.

**Returns:** results[]{product_id, sku_id, title, brand, url, image, images[], price, price_max, price_type (internet|event|normal), cmr_price (CMR card only), list_price (struck), discount_pct, cmr_discount_pct, cmr_saving, other_prices[], currency, discount_badge_pct, seller{id, name, kind (falabella|falabella_group|marketplace), is_falabella, verified}, marketplace, search_index_rating, search_index_review_count (search-index figures; product/detail has the review system's), rating_scale, badges[], delivery_badges[]{type, label}, installments[]{count, interest_free, payment_methods[]}, top_specifications[], best_seller, product_type, variants[]{type, options[]{value, variant_id, available, purchasable, price, url}}, sponsored}, count (organic rows), sponsored_dropped, sponsored_included, total_results, total_pages, page, page_size, has_more, page_notice, filters_available[]{name, type, values[]{label, count, filter, selected}}, site_applied_filters[], redirected_to{type, id, url}, sort, applied_filters, country, currency, category_type, category_id, breadcrumb[]{id, name, url}

### POST /falabella/v1/product/detail — 1 credit
The full Falabella product record by id or URL: title, brand, model, internet or event price, CMR card price, struck normal price with discounts and validity dates, CMR points, the seller with its rating and verification, availability with stock per delivery option, home delivery and store pickup, interest-free installments, rating with star distribution, description, specifications, images and videos, every variant with its own prices and stock, and the category breadcrumb.

**Parameters:**
- `product_id` (string, required) — A Falabella product id (the number after /product/ in the URL, e.g. 14794157) or the product URL. A URL also sets the country.
- `variant_id` (string, optional) — One variant (size / colour SKU) of the product; its prices and stock become the top-level fields. Default: the variant Falabella shows first.
- `country` (enum, optional, default "cl") — Falabella storefront: cl (falabella.com, CLP), co (falabella.com.co, COP) or pe (falabella.com.pe, PEN). Prices, currency and catalogue follow the country. [one of: cl, co, pe]
- `max_rotations` (integer, optional, default 3) — How many fresh exits to try before giving up.

**Returns:** product{product_id, variant_id, title, brand, brand_id, url, model, product_type, price, price_type, price_valid_until, cmr_price, cmr_price_valid_until, list_price, discount_pct, cmr_discount_pct, cmr_saving, other_prices[], discount_badge_pct, cmr_points, purchasable, availability (in_stock|out_of_stock|null), stock_quantity, stock_quantity_cap, stock_by_shipping_option[]{shipping_option, state, has_stock, quantity}, home_delivery, store_pickup, free_shipping, delivery_labels[], delivery_badges[], max_quantity, offers[]{seller, offering_id, seller_sku, status, active}, currency, seller{id, name, kind, is_falabella, business_name, verified, rating{score, on_time, cancellations, customer, scale}}, marketplace, installments[], rating, review_count, rating_scale, rating_distribution{5..1} (Spanish-language reviews, as the product page counts them), recommended_count, rating_all_locales, review_count_all_locales, description, short_description, specifications[]{name, value}, top_specifications[], country_of_origin, condition, images[], videos[], variants[]{variant_id, name, attributes{}, selected, price, cmr_price, list_price, …, availability, stock_quantity}, variant_count, category_id, breadcrumb[]{id, name, url}, international_shipping, return_policy, published}, country, currency, rating_status

**Example request body:**
```json
{
  "product_id": "14794157"
}
```

### POST /falabella/v1/product/reviews — 1 credit
Customer reviews of a Falabella product, paged and sorted (newest, oldest, highest or lowest rating, most helpful) and filterable by star rating: rating, title, text, date, reviewer nickname, recommendation, helpful votes, detailed ratings (comfort, size…), photos and seller responses, plus the average rating, review count and star distribution. Reviews and figures are the Spanish-language ones the product page counts; the all-languages totals are returned separately.

**Parameters:**
- `product_id` (string, required) — A Falabella product id (the number after /product/ in the URL, e.g. 14794157) or the product URL. A URL also sets the country.
- `country` (enum, optional, default "cl") — Falabella storefront: cl (falabella.com, CLP), co (falabella.com.co, COP) or pe (falabella.com.pe, PEN). Prices, currency and catalogue follow the country. [one of: cl, co, pe]
- `page` (integer, optional, default 1) — Review page, from 1.
- `page_size` (integer, optional, default 10) — Reviews per page.
- `sort` (enum, optional, default "newest") — Review order. most_helpful follows helpful votes, which are 0 on most reviews. [one of: newest, oldest, highest_rating, lowest_rating, most_helpful]
- `rating` (integer, optional) — Only reviews with exactly this many stars.
- `max_rotations` (integer, optional, default 3) — How many fresh exits to try before giving up.

**Returns:** reviews[]{review_id, rating, rating_scale, title, text, date, author, author_location, recommended, helpful_votes, unhelpful_votes, badges[], secondary_ratings[]{label, value, scale, value_label}, photos[], seller_responses[], syndicated, reviewed_product_id, locale}, count, page, page_size, total_results (matching the rating filter), has_more, average_rating, review_count, rating_scale, rating_distribution{5..1}, recommended_count, rating_all_locales, review_count_all_locales, stats_status, product_id, sort, rating_filter, country

**Example request body:**
```json
{
  "product_id": "14794157"
}
```

### POST /falabella/v1/search/suggest — 1 credit
Falabella's search-box suggestions for what a shopper has typed, each with the categories Falabella proposes for it.

**Parameters:**
- `query` (string, required) — What a shopper has typed so far.
- `country` (enum, optional, default "cl") — Falabella storefront: cl (falabella.com, CLP), co (falabella.com.co, COP) or pe (falabella.com.pe, PEN). Prices, currency and catalogue follow the country. [one of: cl, co, pe]
- `max_rotations` (integer, optional, default 3) — How many fresh exits to try before giving up.

**Returns:** suggestions[]{term, url, categories[]{name, category_id, url}}, count, query, country

**Example request body:**
```json
{
  "query": "televisor"
}
```

## More
- Try it live, no code: https://reefapi.com/playground?engine=falabella
- Human docs page: https://reefapi.com/docs/falabella
- Overview page: https://reefapi.com/falabella-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
