# Wer Liefert Was B2B Marketplace Scraper (`codebyte/wer-liefert-was-b2b-marketplace`)

Wer-Liefert-Was (WLW) web scraper for Europe's leading B2B marketplace. Extract company profiles, contact information and product listings. Perfect for market research, lead generation, and competitive analysis.

- **URL**: https://beta-securitybyobscurity.apify.com/codebyte/wer-liefert-was-b2b-marketplace.md
- **Developed by:** [Codebyte](https://beta-securitybyobscurity.apify.com/codebyte) (community)
- **Categories:** E-commerce, Lead generation, Other
- **Stats:** 89 total users, 17 monthly users, 100.0% runs succeeded, 6 bookmarks
- **User rating**: No ratings yet

## Pricing

$15.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

# README

## Wer-Liefert-Was Scraper

This Apify actor scrapes company and product information from Wer-Liefert-Was (WLW), one of the leading B2B marketplaces in German-speaking countries. The actor supports both company and product searches across multiple regions and languages.

### Features

- Search for companies or products
- Language selection (German/English)
- Optional detailed company information
- Configurable pagination limits
- Structured JSON output

### Input Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `resultType` | String | Type of search to perform: `company_search` or `product_search` |
| `searchTerm` | String | The term to search for |
| `region` | String | Prioritize region for search results (DE/AT/CH/BE/LU) |
| `language` | String | Preferred language for results (de/en) |
| `includeCompanyDetails` | Boolean | Whether to store detailed company information in KVS |
| `maxPages` | Integer | Maximum number of search result pages to crawl (0 = unlimited) |

### Example Input

```json
{
    "resultType": "product_search",
    "searchTerm": "stuhl",
    "includeCompanyDetails": true,
    "maxPages": 4,
    "region": "DE",
    "language": "en"
}
```

### Output

#### Company Details Output

If `includeCompanyDetails` is set to `true`, the actor will store company details in a named key-value store `wlw-company-details`.
This key-value store is shared between actor runs, so you can maintain a permanent database of company information.
Compared to company search results, company details contain more information, such as contact persons at the company, EU VAT ID and more.

```json
{
  "company": {
    "slug": "tremmel-aufzuege-gmbh-cokg-1710405",
    "uuid": "00505682-f25b-1ee9-bd91-d262758ff7fb",
    "company_id": 1710405,
    "acronym": "TAC",
    "email": "info@tremmel-aufzuege.de",
    "average_response_time": "less_than_24h",
    "catalog": {
      "url": "https://wlw-1-company-facts-media20191122174836234900000006.s3.eu-central-1.amazonaws.com/e8212fa2-3974-42c9-bd14-79d7c50f3cd0.pdf",
      "name": "Tremmel_Prospekt_Aufzugsspezi_2020_11.pdf",
      "filename": "Tremmel_Prospekt_Aufzugsspezi_2020_11.pdf",
      "title": "Catalog",
      "description": null
    },
    "documents": [
      {
        "mime_type": "application/pdf",
        "filename": "Tremmel_Prospekt_Aufzugsspezi_2020_11.pdf",
        "url": "https://wlw-1-company-facts-media20191122174836234900000006.s3.eu-central-1.amazonaws.com/e8212fa2-3974-42c9-bd14-79d7c50f3cd0.pdf",
        "title": "Catalog",
        "description": null
      }
    ],
    "certificates_count": 0,
    "customer_id": 2312381,
    "distribution_area": "regional",
    "employee_count": "20-49",
    "founding_year": 2011,
    "package_name": null,
    "is_customer": true,
    "logo_url": "https://wlw-1-company-facts-media20191122174836234900000006.s3.eu-central-1.amazonaws.com/316d3049-c512-4f9b-b7e4-39fa144440df.jpeg",
    "name": "Tremmel Aufzüge GmbH & Co.KG",
    "response_rate": 0.33,
    "is_alive": true,
    "supplier_types": [
      "distribution",
      "service"
    ],
    "description": "We specialize in modernization, renovation, and service for passenger elevators. But also for all types of disabled lifts. Domuslifte, stair lifts, renovation, repair, service.",
    "certificates": [],
    "location": {
      "latitude": 49.011585,
      "longitude": 12.982407
    },
    "videos": [
      {
        "title": "Video",
        "description": null,
        "kind": "youtube",
        "video_id": "8ersIbDg5ug"
      }
    ],
    "phone_number": "+499929581970",
    "fax_number": "+4999295819799",
    "homepage": "http://www.tremmel-aufzuege.de/",
    "address": {
      "address_lines": [
        "Im Gewerbegebiet 5"
      ],
      "city": "Patersdorf",
      "postal_code": "94265",
      "country_code": "DE"
    },
    "pictures": [],
    "contacts": [
      {
        "id": "f7e95792-a659-5f68-be82-365f6866219c",
        "title": null,
        "first_name": "Werner",
        "last_name": "Tremmel",
        "email": "info@tremmel-aufzuege.de",
        "phone_number": "+499929581970",
        "fax_number": null,
        "executive_type": "sales",
        "executive_type_text": null
      },
      {
        "id": "6824ade5-b2b4-500d-9a4f-11337a217d39",
        "title": null,
        "first_name": "Marco",
        "last_name": "Tremmel",
        "email": "tremmelmrc@t-online.de",
        "phone_number": "+499929581970",
        "fax_number": null,
        "executive_type": "marketing",
        "executive_type_text": null
      }
    ],
    "content_language": "en",
    "product_count": 0,
    "references": [],
    "vat_id": null,
    "payment_methods": {
      "codes": [],
      "additional": []
    },
    "payment_terms": [],
    "incoterms": [],
    "sustainability_score": null,
    "keywords": [],
    "seo_keywords": [],
    "ep_id": null,
    "ep_slug": null,
    "main_business_area": {
      "id": 100045,
      "title": "Conveyor technology"
    }
  }
}
```

#### Company Search Output

```json
{
	"company_id": 1145801,
	"customer_id": null,
	"uuid": "00505682-f25b-1ee9-bd91-d2a36da817fb",
	"slug": "korb-jacob-1145801",
	"acronym": "KJ",
	"average_response_time": null,
	"certificates_count": 0,
	"city": "Berlin",
	"country_code": "DE",
	"debug_data": null,
	"distribution_area": "regional",
	"email": "post@korb-jacob.de",
	"phone_number": "+49302813650",
	"employee_count": "1-4",
	"distance": null,
	"founding_year": null,
	"catalog": null,
	"highlightings": {
		"description": "... chairs of all kinds, such as Thonet, Wiener Kaffeehaus <em>Stuhl</em>.\n\nBerlin &amp; Surroundings\nWe offer pick-up and delivery service within Berlin and the surrounding area, or you are welcome to bring them personally to the store.\n\nWe offer the following mat weaves:\nMaterial: Natural\nNatural weave cannot be dyed, light honey tone that darkens naturally over time.\nFinished natural weave\nSuitable for all chairs\nNatural weave by the meter\nOriginal as with Thonet chairs\nCannot be dyed &#x2F; naturally darkens due to sunlight exposure\nPrice per area: €145.00\nincluding 19% VAT...",
		"secondary_description": null
	},
	"homepage": "http://www.korb-jacob.de/",
	"location": {
		"latitude": 52.53156,
		"longitude": 13.37748
	},
	"logo_url": "https://wlw-1-company-facts-media20191122174836234900000006.s3.eu-central-1.amazonaws.com/ab47300d-c19e-487c-b0e4-01684dd66326.jpeg",
	"matching_company_category": null,
	"matching_top_ranking_keyword": null,
	"name": "Korb-Jacob",
	"description": null,
	"is_customer": false,
	"is_new_customer": false,
	"package_name": null,
	"pictures": [],
	"matching_product_count": 1,
	"product_count": 1,
	"portfolio_products": [
		{
			"uuid": "9545a195-d181-5bd8-b3f5-ab802c52b8b4",
			"id": "35911509",
			"name": "Have the Freischwinger Thonet S32 S64 Viennese coffee house chair repaired",
			"slug": "freischwinger-thonet-s32-s64-wiener-kaffeehaus-stuhl-reparieren-lassen-35911509",
			"images": [
				{
					"url": "https://supplier-offers-media-production.s3.eu-central-1.amazonaws.com/c92b93b2-9dc4-11ef-a9ba-0a58a9feac02.jpeg",
					"caption": null
				}
			],
			"keywords": null,
			"attributes": [],
			"highlightings": {
				"name": "Have the Freischwinger Thonet S32 S64 Viennese coffee house chair repaired",
				"description": "... chairs of all kinds, such as Thonet, Wiener Kaffeehaus <em>Stuhl</em>.\n\nBerlin &amp; Surroundings\nWe offer pick-up and delivery service within Berlin and the surrounding area, or you are welcome to bring them personally to the store.\n\nWe offer the following mat weaves:\nMaterial: Natural\nNatural weave cannot be dyed, light honey tone that darkens naturally over time.\nFinished natural weave\nSuitable for all chairs\nNatural weave by the meter\nOriginal as with Thonet chairs\nCannot be dyed &#x2F; naturally darkens due to sunlight exposure\nPrice per area: €145.00\nincluding 19% VAT..."
			},
			"is_matching": true,
			"is_showcased": false
		}
	],
	"response_rate": 0,
	"is_alive": false,
	"space_type": "relevance",
	"street": "Habersaathstrasse 32",
	"supplier_types": [
		"service"
	],
	"zipcode": "10115",
	"sustainability_score": null,
	"ep_id": null,
	"ep_slug": null
}
```

#### Product Search Output

```json
{
	"slug": "tische-plano-849-24195740",
	"slug_id": "24195740",
	"company_slug": "braun-gmbh-co-kg-stuhlfabrik-474615",
	"company_uuid": "00505682-f25b-1ee9-bd91-d2568d9d37fb",
	"description": "Folding Table\n\nModel Number: 849\nFrame: Round Tube\nTable Legs: Ø 40 mm\n\nOptions:\n- Various table top thicknesses\n- Surface: Thermopal or real wood ven...",
	"image": {
		"url": "https://supplier-offers-media-production.s3.eu-central-1.amazonaws.com/3ee8a5d1-dea4-11ed-8d7a-0a58a9feac02.jpeg"
	},
	"images": [
		{
			"url": "https://supplier-offers-media-production.s3.eu-central-1.amazonaws.com/3ee8a5d1-dea4-11ed-8d7a-0a58a9feac02.jpeg"
		}
	],
	"language": "en",
	"name": "Tables | Plano 849",
	"company": {
		"company_id": 474615,
		"uuid": "00505682-f25b-1ee9-bd91-d2568d9d37fb",
		"name": "BRAUN GmbH & Co. KG Stuhlfabrik",
		"slug": "braun-gmbh-co-kg-stuhlfabrik-474615",
		"email": "info@stuhl-braun.de",
		"is_customer": false,
		"customer_id": null,
		"average_response_time": null,
		"response_rate": 0,
		"logo_url": "https://wlw-1-company-facts-media20191122174836234900000006.s3.eu-central-1.amazonaws.com/d599f48d-21a1-4189-835e-ee4e12e661b2.jpeg",
		"is_alive": true,
		"founding_year": 1901,
		"distribution_area": "europe",
		"certificates_count": 6,
		"ep_slug": null,
		"ep_id": null
	},
	"is_showcased": true,
	"minimum_order_quantity": null,
	"price": null
}
```

# Actor input Schema

## `resultType` (type: `string`):

Type of search to perform

## `searchTerm` (type: `string`):

Term to search for

## `region` (type: `string`):

Prioritize search results by this region

## `language` (type: `string`):

Select Language for search results

## `includeCompanyDetails` (type: `boolean`):

Whether to fetch detailed company information for each search result

## `maxPages` (type: `integer`):

Maximum number of search result pages to crawl. Set to 0 to crawl all available pages.

## Actor input object example

```json
{
  "resultType": "company_search",
  "searchTerm": "web scraping",
  "region": "DE",
  "language": "en",
  "includeCompanyDetails": false,
  "maxPages": 0
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("codebyte/wer-liefert-was-b2b-marketplace").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("codebyte/wer-liefert-was-b2b-marketplace").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call codebyte/wer-liefert-was-b2b-marketplace --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=codebyte/wer-liefert-was-b2b-marketplace",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wer Liefert Was B2B Marketplace Scraper",
        "description": "Wer-Liefert-Was (WLW) web scraper for Europe's leading B2B marketplace. Extract company profiles, contact information and product listings. Perfect for market research, lead generation, and competitive analysis.",
        "version": "0.0",
        "x-build-id": "5hF9OgAUtR1h56WDT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/codebyte~wer-liefert-was-b2b-marketplace/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-codebyte-wer-liefert-was-b2b-marketplace",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/codebyte~wer-liefert-was-b2b-marketplace/runs": {
            "post": {
                "operationId": "runs-sync-codebyte-wer-liefert-was-b2b-marketplace",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/codebyte~wer-liefert-was-b2b-marketplace/run-sync": {
            "post": {
                "operationId": "run-sync-codebyte-wer-liefert-was-b2b-marketplace",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "resultType": {
                        "title": "Result Type",
                        "enum": [
                            "company_search",
                            "product_search"
                        ],
                        "type": "string",
                        "description": "Type of search to perform",
                        "default": "company_search"
                    },
                    "searchTerm": {
                        "title": "Search Term",
                        "type": "string",
                        "description": "Term to search for",
                        "default": "web scraping"
                    },
                    "region": {
                        "title": "Region",
                        "enum": [
                            "DE",
                            "AT",
                            "CH",
                            "BE",
                            "LU"
                        ],
                        "type": "string",
                        "description": "Prioritize search results by this region",
                        "default": "DE"
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "de",
                            "en"
                        ],
                        "type": "string",
                        "description": "Select Language for search results",
                        "default": "en"
                    },
                    "includeCompanyDetails": {
                        "title": "Include Company Details",
                        "type": "boolean",
                        "description": "Whether to fetch detailed company information for each search result",
                        "default": false
                    },
                    "maxPages": {
                        "title": "Max Search Result Pages",
                        "type": "integer",
                        "description": "Maximum number of search result pages to crawl. Set to 0 to crawl all available pages.",
                        "default": 0
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
