# PcComponentes API — search pccomponentes.com and read products with every seller's offer, price types (PVPR, 30-day low), stock, delivery, specs, EAN, reviews and price history

> Search PcComponentes (Spain) by keyword with the site's own filters — category (family), brand, seller (PcComponentes itself or marketplace sellers), condition (new / refurbished), price range — and 7 sort orders; or browse a category by its slug. Each row: product id, slug, name, brand, part number, condition, category, price, the struck price with its type (PVPR = recommended retail price), discount, 30-day and all-time lowest price, seller and whether PcComponentes sells it, stock, delivery dates, free shipping, rating and review count, image. Plus the source's own total and the facets (brands with ids and counts, categories, seller and condition counts).
> ReefAPI engine `pccomponentes` · 4 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/pccomponentes/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). Send the key as `Authorization: Bearer <key>`, or put it in the URL (`?key=<key>`) when the client has no header field, as ChatGPT does.

## Endpoints

### POST https://api.reefapi.com/pccomponentes/v1/search — 3 credits
Search PcComponentes (Spain) by keyword with the site's own filters — category (family), brand, seller (PcComponentes itself or marketplace sellers), condition (new / refurbished), price range — and 7 sort orders; or browse a category by its slug. Each row: product id, slug, name, brand, part number, condition, category, price, the struck price with its type (PVPR = recommended retail price), discount, 30-day and all-time lowest price, seller and whether PcComponentes sells it, stock, delivery dates, free shipping, rating and review count, image. Plus the source's own total and the facets (brands with ids and counts, categories, seller and condition counts).

**Parameters:**
- `query` (string, optional) — Search words as typed into the PcComponentes search box. Either `query` or `category` is required. The site may narrow a query to its own category ("monitor" → Monitores); that is shown in applied_filters.
- `category` (string, optional) — Browse one category by its slug (as a row's category.slug returns it, e.g. tarjetas-graficas, portatiles). Used WITHOUT `query`; only `sort` and `page` apply. To filter a category, use `query` + `family_id`.
- `family_id` (integer, optional) — Category (family) id as a row's category.id or the families facet returns it (13 = Monitores, 6 = Tarjetas Gráficas). Needs `query`.
- `brand` (string, optional) — Brand: the site's numeric brand id (from the brands facet, e.g. 3 = LG, 43 = Asus) or a brand name as the facet prints it (resolved through the same query's brand facet: one extra request). Needs `query`.
- `seller` (enum, optional) — Only offers sold by PcComponentes itself, or by marketplace sellers. Needs `query`. [one of: pccomponentes, marketplace]
- `condition` (enum, optional) — New or refurbished (reacondicionado) units. Needs `query`. [one of: new, refurbished]
- `min_price` (number, optional) — Lowest price in EUR (VAT included). Needs `query`.
- `max_price` (number, optional) — Highest price in EUR (VAT included). Needs `query`.
- `sort` (enum, optional, default "relevance") — Result order. [one of: relevance, price_asc, price_desc, best_selling, discount, top_rated, newest]
- `page` (integer, optional, default 1) — Result page (40 rows each). The site serves at most 25 pages (1,000 rows) per listing.

**Returns:** results[]{product_id, slug, url, name, brand, mpn, condition, category{id, name, slug}, price, currency, crossed_out_price, crossed_out_price_type, discount_pct, discount_amount, new_product_price, lowest_price_30d, lowest_price_historical, is_lowest_price_ever, seller_name, sold_by_pccomponentes, in_stock, availability_code, delivery_min_date, delivery_max_date, free_shipping, shipping_cost, rating, review_count, image, top_attributes[], flags[], price_mismatch, lowest_prices_whole_euros} + total, total_pages, page, page_size, has_more, facets{brands[], families[], seller_type[], status[], price_range}, applied_filters

**Example request body:**
```json
{
  "query": "monitor",
  "brand": "3"
}
```

### POST https://api.reefapi.com/pccomponentes/v1/product — 3 credits
Full PcComponentes product record: name, brand, EAN, manufacturer part number, condition, category, price (VAT included) and price without VAT, the struck price with its type (PVPR), discount, promotion end date, 30-day and all-time lowest price, the buy-box seller and EVERY seller's offer (price, stock quantity, availability, delivery window, shipping, seller rating), stock and delivery dates, store pick-up per store, rating out of 5 and 10, review and recommendation counts, star distribution, the site's review summary, the specification table, attribute facets, description, images, variants and financing.

**Parameters:**
- `slug` (string, optional) — The product's slug exactly as a search row returns it (`slug`, e.g. tarjeta-grafica-zotac-gaming-...; a refurbished unit keeps its `?refurbished` suffix). A pccomponentes.com product URL is accepted too.

**Returns:** {product_id, slug, url, name, brand, ean, mpn, condition, is_refurbished, category{}, super_category, price, currency, price_ex_vat, crossed_out_price, crossed_out_price_type, discount_pct, discount_amount, promotion_valid_until, lowest_price_30d, lowest_price_historical, msrp, sold_by_pccomponentes, seller{}, offers[]{offer_id, is_buy_box, seller_id, seller_name, seller_rating, seller_rating_count, price, price_ex_vat, vat_rate, original_price, discount_pct, shipping_min_price, free_shipping, condition, quantity, available, availability_status, real_stock, delivery_min_date, delivery_max_date, delivery_text, logistics}, offer_count, other_offers_from_price, in_stock, purchasable, availability_code, delivery_min_date, delivery_max_date, delivery_text, shipping_cost, store_pickup[], rating, rating_10, review_count, written_review_count, recommend_count, rating_distribution{}, opinion_summary{}, specifications[]{name, value}, attributes[], description, images[], variants[], weight, added_date, financing[], ld_json_price, price_mismatch, refurbished_unit_not_offered}

**Example request body:**
```json
{
  "slug": "tarjeta-grafica-zotac-gaming-geforce-rtx-5060-ti-twin-edge-oc-8gb-gddr7-reflex-2-rtx-ai-dlss4"
}
```

### POST https://api.reefapi.com/pccomponentes/v1/reviews — 2 credits
Buyer reviews of a PcComponentes product: score out of 10 (and out of 5), value-for-money score, recommends yes/no, comment, pros and cons (Spanish original), verified purchase, author nickname, likes, media count, dates. The site pools the reviews of every variant of the model; each review names its own product_id.

**Parameters:**
- `product_id` (string, optional) — PcComponentes product id exactly as a search or product row returns it (product_id, digits).
- `page` (integer, optional, default 1) — Review page (16 reviews per page, the site's own size).
- `sort` (enum, optional, default "relevance") — Review order. [one of: relevance, newest, oldest]

**Returns:** reviews[]{review_id, product_id, product_name, rating, rating_10, price_rating_10, recommends, comment, advantages, disadvantages, language, verified_purchase, author, likes, media_count, created_at, updated_at} + product_id, page, page_size, has_more

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

### POST https://api.reefapi.com/pccomponentes/v1/price_history — 1 credit
The price history PcComponentes publishes for a product (its own 'historial de precios' panel): every price change with its date and whether it was a promotional price.

**Parameters:**
- `product_id` (string, optional) — PcComponentes product id exactly as a search or product row returns it (product_id, digits).

**Returns:** history[]{date, price, promotional} + product_id, count, min_price, max_price

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

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

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