wlw APIwlw.de ↗
Access B2B supplier profiles, product listings, and company contacts from wlw.de. Search German industrial suppliers by keyword, filters, and more.
What is the wlw API?
The wlw.de API provides access to B2B supplier and product data from Germany's Wer liefert was marketplace across 4 endpoints. Use search_companies to find suppliers by keyword, industry type, employee count, or country, and get_company_details to retrieve full profiles including VAT ID, founding year, certificates, and named contacts with phone numbers.
curl -X GET 'https://api.parse.bot/scraper/b18f5d47-616f-4a73-aac6-32b96fb41606/search_companies?page=1&query=kunststoff&verified=False&countries=DE&supplier_types=production&employee_counts=1-4' \ -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 wlw-de-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.
from parse_apis.wlw_wer_liefert_was_api import WLW, CompanySummary, Company, Product, FeaturedProduct, SupplierType, Country
wlw = WLW(api_key="YOUR_API_KEY")
# Search for plastic processing companies in Germany
for company in wlw.companysummaries.search(query="kunststoff", countries=Country.DE, supplier_types=SupplierType.PRODUCTION, limit=5):
print(company.name, company.city, company.employee_count)
# Drill into full company details
profile = company.details()
print(profile.phone_number, profile.employee_count)
for contact in profile.contacts:
print(contact.first_name, contact.last_name, contact.executive_type)
# Search for metal products
for product in wlw.products.search(query="metall", limit=3):
print(product.name, product.description, product.company.name)
# List featured homepage products
for featured in wlw.featuredproducts.list(limit=5):
print(featured.product_name, featured.min_price, featured.max_price)
Search for B2B supplier companies by keyword with optional filters for country, supplier type, employee count, and verification status. Returns paginated results sorted by relevance. Each company includes basic profile info (name, city, phone, employee count, supplier types) plus portfolio products. Pagination via page number; the total field gives the overall match count.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| query | string | Search keyword (e.g. 'kunststoff', 'metall', 'stahl'). |
| verified | boolean | Only return verified companies when true. |
| countries | string | Country code filter. Accepted values: 'DE', 'AT', 'CH'. |
| supplier_types | string | Supplier type filter. Accepted values: 'production', 'service', 'distribution', 'wholesaler'. |
| employee_counts | string | Employee count range filter. Accepted values: '1-4', '5-9', '10-19', '20-49', '50-99', '100-199', '200-499', '500-999', '1000+'. |
{
"type": "object",
"fields": {
"total": "integer total number of matching companies",
"companies": "array of company summary objects with id, name, slug, city, description, phone_number, supplier_types, employee_count, founding_year, logo_url, country_code, certificates_count"
},
"sample": {
"data": {
"total": 485939,
"companies": [
{
"id": 1162920,
"city": "Großbreitenbach",
"name": "Metallbearbeitung Pabst GmbH & Co.KG",
"slug": "metallbearbeitung-pabst-gmbh-cokg-472478",
"logo_url": "https://wlw-1-company-facts-media20191122174836234900000006.s3.eu-central-1.amazonaws.com/00d4ffcd.jpeg",
"description": "Hart- und Weichlöten...",
"country_code": "DE",
"phone_number": "+1 (555) 012-3456",
"founding_year": 1991,
"employee_count": "20-49",
"supplier_types": [
"production",
"service",
"distribution"
],
"certificates_count": 1
}
]
},
"status": "success"
}
}About the wlw API
Search and Filter B2B Suppliers
The search_companies endpoint accepts a query string (e.g. kunststoff, metall) alongside optional filters: countries (DE, AT, CH), supplier_types (production, service, distribution), employee_counts (e.g. 10-19, 100-199), and a verified boolean. Results are paginated via the page parameter and each company object in the response includes id, name, slug, city, description, phone_number, supplier_types, and employee_count. The total field tells you how many matching companies exist across all pages.
Full Company Profiles
get_company_details takes a slug obtained from search_companies results and returns a structured profile: name, vatId, address (with addressLines, city, postalCode, countryCode), contacts (array with firstName, lastName, phoneNumber, executiveType), certificates, foundingYear, employeeCount, and supplierTypes. This endpoint is the primary path to verified contact details and compliance-relevant data like certifications and VAT numbers.
Product Search and Featured Listings
search_products searches product and service listings by keyword, returning a products array where each item carries name, slug, description, associated company info, images, and pricing fields. The totalCount field shows full result volume across pages. For homepage-level discovery, get_homepage_featured requires no inputs and returns an array of currently trending product objects with slugId, productName, productPic, linkUrl, minPrice, and maxPrice — useful for monitoring which categories are actively promoted on the platform.
The wlw API is a managed, monitored endpoint for wlw.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when wlw.de 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 wlw.de 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 supplier discovery tool for procurement teams sourcing German industrial manufacturers by keyword and employee size.
- Enrich a CRM with verified B2B contact details, VAT IDs, and founding years pulled from get_company_details.
- Monitor which products and price ranges are featured on wlw.de's homepage using get_homepage_featured.
- Filter suppliers by certification data to compile a shortlist of ISO-certified production companies.
- Aggregate product listings with minPrice and maxPrice fields from search_products for competitive pricing research.
- Track supplier distribution across DE, AT, and CH using the countries filter in search_companies.
- Identify service providers versus manufacturers in a niche by filtering supplier_types in search_companies.
| 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 wlw.de offer an official developer API?+
What does get_company_details return beyond what search_companies provides?+
Does the API cover supplier reviews or ratings?+
Can I retrieve a company's full product catalog through the API?+
How does pagination work in search_companies and search_products?+
page parameter. search_companies returns a total field indicating the full match count; search_products returns totalCount for the same purpose. There is no documented page size override — page size is fixed by the API.