B2B API · v1

ElektroHub API

Public B2B API for the ElektroHub catalog and inventory. Base URL: https://api.elektrohub.de

Authentication

Every request must include your API key. You can create and manage your key in the B2B portal under API access. Pass it as a Bearer token or via the x-api-key header.

curl https://api.elektrohub.de/v1/b2b/catalog \
  -H "Authorization: Bearer YOUR_API_KEY"

Endpoints

GET/v1/b2b/catalog

Returns every product available in the B2B portal with SKU, product name, images, category, B2B net price and MSRP (recommended retail price).

Query parameters

  • searchstringFree-text search across SKU, variant and product name.
  • limitintegerPage size (1–500, default 500).
  • offsetintegerNumber of items to skip.

Response fields

  • skustringStock keeping unit.
  • productNamestringProduct name.
  • variantNamestringVariant label.
  • categorystring | nullProduct category.
  • imagesstring[]Ordered image URLs.
  • b2bPriceNetnumberB2B net price in EUR.
  • msrpnumber | nullManufacturer's suggested retail price (gross) in EUR.
  • currencystringISO currency code (EUR).

Example response

{
  "data": [
    {
      "sku": "EH-1024",
      "productName": "Smart Wi-Fi Socket",
      "variantName": "White",
      "category": "Smart Home",
      "images": ["https://.../socket-1.jpg"],
      "b2bPriceNet": 12.9,
      "msrp": 24.99,
      "currency": "EUR"
    }
  ],
  "pagination": { "limit": 500, "offset": 0, "count": 1 }
}
GET/v1/b2b/inventory

Returns the availability status of the catalog products – the same qualitative information shown in the B2B portal (in stock / backorder / out of stock and delivery time). No raw stock quantities are exposed.

Query parameters

  • skustringRepeatable. Restrict to specific SKUs, e.g. ?sku=A&sku=B.
  • searchstringFree-text search across SKU, variant and product name.
  • updated_sincestring (ISO 8601)Only return items whose stock (or, for bundles, a component's stock) was updated at or after this timestamp (delta sync).
  • limitintegerPage size (1–500, default 500).
  • offsetintegerNumber of items to skip.

Response fields

  • skustringStock keeping unit.
  • statusstringIN_STOCK | LOW_STOCK | BACKORDER | OUT_OF_STOCK.
  • inStockbooleanWhether the item is physically in stock.
  • deliveryTimeinteger | nullDelivery time tier (1–5).
  • deliveryTimeLabelstring | nullHuman-readable delivery time.
  • stockUpdatedAtstring | nullWhen the stock was last updated (ISO 8601).

Example response

{
  "data": [
    {
      "sku": "EH-1024",
      "status": "LOW_STOCK",
      "inStock": true,
      "deliveryTime": 2,
      "deliveryTimeLabel": "1–2 Wo DE / 3 Wo EU",
      "stockUpdatedAt": "2026-06-17T09:24:00.000Z"
    }
  ],
  "pagination": { "limit": 500, "offset": 0, "count": 1 }
}