# Archiproducts Scraper (`crawlerbros/archiproducts-scraper`) Actor

Scrape Stylepark - Europe's leading architecture & design product directory. Search by keyword, browse by category, or fetch specific products by slug. Returns product name, manufacturer, designer, category, images, and source URL.

- **URL**: https://apify.com/crawlerbros/archiproducts-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, E-commerce, Lead generation
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Archiproducts Scraper

Extract architecture and interior design products from **Stylepark** — Europe's leading curated product directory for architects, designers, and specifiers. Search by keyword, browse by product category, or fetch specific product pages by URL.

### What you can do

- **Search** for any architecture or design product by keyword
- **Browse** by category (furniture, lighting, kitchen, bath, garden, etc.)
- **Fetch** specific products by slug or full URL
- Filter by manufacturer name

### Input

| Field | Type | Description |
|---|---|---|
| `mode` | select | `search`, `byCategory`, or `getBySlug` (required) |
| `query` | string | Keyword search query (mode=search) |
| `category` | select | Product category to browse (mode=byCategory) |
| `slugs` | array | Product slugs or URLs (mode=getBySlug) |
| `manufacturer` | string | Filter by manufacturer name (optional) |
| `maxItems` | integer | Max products to return (1–10,000, default 100) |

#### Example inputs

**Search:**

```json
{
  "mode": "search",
  "query": "chair",
  "maxItems": 50
}
```

**Browse category:**

```json
{
  "mode": "byCategory",
  "category": "interior-lighting",
  "maxItems": 100
}
```

**Specific products:**

```json
{
  "mode": "getBySlug",
  "slugs": [
    "pedrali/libre-595",
    "https://www.stylepark.com/en/vitra/eames-chair"
  ]
}
```

### Output

Each product record includes:

| Field | Description |
|---|---|
| `slug` | Product identifier (manufacturer/product) |
| `name` | Product name |
| `manufacturer` | Brand / manufacturer name |
| `designer` | Product designer (when available) |
| `category` | Top-level product category |
| `subCategory` | Sub-category |
| `categoryPath` | Full category breadcrumb |
| `description` | Product description |
| `imageUrl` | Primary product image URL |
| `images` | Additional product images |
| `manufacturerUrl` | Manufacturer profile URL |
| `productUrl` | Canonical product URL |
| `sourceUrl` | Scraped page URL |
| `recordType` | Always `"product"` |
| `scrapedAt` | UTC timestamp |

#### Example output

```json
{
  "slug": "pedrali/libre-595",
  "name": "LIBRE 595",
  "manufacturer": "Pedrali",
  "designer": "Eugeni Quitllet",
  "category": "Garden furnishings",
  "subCategory": "Outdoor seating furniture",
  "categoryPath": "Garden furnishings > Outdoor seating furniture > Outdoor armchairs",
  "productUrl": "https://www.stylepark.com/en/pedrali/libre-595",
  "sourceUrl": "https://www.stylepark.com/en/pedrali/libre-595",
  "recordType": "product",
  "scrapedAt": "2026-05-30T12:00:00+00:00"
}
```

### Available categories

Home Furniture, Office/Contract Furniture, Interior Lighting, Outdoor Lighting, Interior Accessories, Fabrics/Textiles, Bath/Sanitary, Kitchen, Garden Furnishings, Wellness/Pools, Fireplaces/Heating, Electrical Installations, Loudspeakers, Entertainment Electronics, Fittings, Room Acoustics, Wall/Ceiling, Interior Construction, Building Entrance, Exterior Walls/Facades, Flooring, Outdoor Architecture.

### FAQ

**What is Stylepark?**
Stylepark is a European architecture and design product database covering 70,000+ products from leading manufacturers including Vitra, B\&B Italia, Pedrali, Cassina, HAY, and hundreds more.

**Do I need an account?**
No. All data is publicly accessible without login or API key.

**How many products can I get?**
Up to 10,000 per run. Category pages typically have 50+ products each across 100+ pages.

**Can I filter by country or region?**
Currently manufacturer name filtering is supported. Country filtering can be approximated by combining manufacturer filter with known country-based brands.

**Are prices available?**
Stylepark does not display prices — it is a product directory, not an e-commerce site.

**How fresh is the data?**
Each run scrapes live pages. Use `scrapedAt` to track freshness.

# Actor input Schema

## `mode` (type: `string`):

What to fetch.

## `query` (type: `string`):

Free-text search query (mode=search). Example: 'chair', 'lamp', 'sofa'.

## `category` (type: `string`):

Product category slug to browse.

## `slugs` (type: `array`):

List of Stylepark product slug paths, e.g. 'pedrali/libre-595'. Accepts full URL or path.

## `manufacturer` (type: `string`):

Optional: filter results to a specific manufacturer name (case-insensitive substring match).

## `maxItems` (type: `integer`):

Maximum number of products to return (1â€“10000).

## Actor input object example

```json
{
  "mode": "search",
  "query": "chair",
  "category": "home-furniture",
  "maxItems": 100
}
```

# Actor output Schema

## `products` (type: `string`):

Dataset containing all scraped architecture/design products.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "query": "chair",
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/archiproducts-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "query": "chair",
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/archiproducts-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "query": "chair",
  "maxItems": 100
}' |
apify call crawlerbros/archiproducts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crawlerbros/archiproducts-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/uT8pSaUxqFAaIVveq/builds/DWhrnkqrIV1zxzfcx/openapi.json
