stroylandiya

n8n community node for searching products and reading prices from stroylandiya.ru

Documentation

n8n-nodes-stroylandiya

n8n community node for searching products and reading prices from stroylandiya.ru.

Stroylandiya does not offer a public authenticated API. This node reads the public
storefront the same way a browser does:

  • Search uses the live-search endpoint (/search/title.php/) and returns the
    products shown in the search listing (name, slug, URL, product ID, article,
    brand, category, image, listing price, discount price, bonus and availability
    when present in the markup).
  • Get Product fetches a product page and parses the authoritative price,
    currency, availability and product details from its embedded
    schema.org JSON-LD block, plus visible card
    fields such as article and available order quantity when present.
  • Get Price combines the two: it searches a query and returns a stable result
    with query, found and the first match's product-page price/details when found.

⚠️ This reads a third-party storefront, not an official API. Use it for low-volume
lookups. For bulk or production use, ask Stroylandiya for an official price feed
(e.g. a YML export). Storefront markup can change and break parsing.

Nodes

  • Stroylandiya — use in a standard workflow. Resource Product, operations
    Search, Get Product, Get Price.
  • Stroylandiya Product Card — fetches one product page by slug/URL and returns
    detailed card data. Use it after Search when the listing data is not enough.
  • Stroylandiya Tool — the same actions exposed to an AI Agent via $fromAI.

Credentials

Stroylandiya API holds only:

  • Base URL — defaults to https://stroylandiya.ru; used as a fallback/custom
    storefront URL.
  • User Agent — sent with every request.

No token is required.

Regions

Stroylandiya scopes each region to its own subdomain (e.g. ufa.stroylandiya.ru).
Those subdomains sit behind a JavaScript anti-bot challenge (NGENIX) that returns
503 to any non-browser request, so they cannot be read from n8n. Only the main
stroylandiya.ru domain serves data to a server-side request, and that is the
only supported source — set it as the credential Base URL. If a protected
subdomain is configured, the node fails with a clear anti-bot error rather than
returning garbage.

Output

Get Product returns:

{
  "name": "Цемент HEIDELBERG M500 25 кг",
  "slug": "tsement-universalnyy-heidelberg-m500-25-kg",
  "url": "https://stroylandiya.ru/products/tsement-universalnyy-heidelberg-m500-25-kg/",
  "image": "https://cdn.stroylandiya.ru/upload/...",
  "description": "Цемент HEIDELBERG M500 25 кг...",
  "article": "459783",
  "brand": "HEIDELBERG",
  "sku": null,
  "price": 302,
  "currency": "RUB",
  "availability": "InStock",
  "availableQuantity": 2469,
  "availableQuantityText": "Доступно к заказу - 2469 шт",
  "properties": [
    { "name": "Тип товара", "value": "Цемент" },
    { "name": "Вес (кг)", "value": "25" }
  ],
  "ratingValue": 5,
  "ratingCount": 3
}

Get Price returns the same product fields, plus query and found:

{
  "query": "цемент",
  "found": true,
  "name": "Цемент HEIDELBERG M500 25 кг",
  "slug": "tsement-universalnyy-heidelberg-m500-25-kg",
  "url": "https://stroylandiya.ru/products/tsement-universalnyy-heidelberg-m500-25-kg/",
  "price": 302,
  "currency": "RUB",
  "availability": "InStock"
}

When no product is found, found is false, scalar product fields are null,
availability is Unknown and properties is empty.

Search returns one item per product:

{
  "name": "Цемент AKKERMANN М500 50 кг",
  "slug": "tsement-iuugpk-pts500-d0-50-kg",
  "url": "https://stroylandiya.ru/products/tsement-iuugpk-pts500-d0-50-kg/",
  "productId": "21002",
  "article": "225420",
  "brand": "akkermann",
  "category": "Стройматериалы / Сухие смеси / Цемент",
  "image": "https://cdn.stroylandiya.ru/upload/resize_cache/...",
  "xmlId": "c4ee9753-c14b-11e3-86ad-0022158be7d1",
  "price": 660,
  "priceText": "660 ₽/шт",
  "discountPrice": 660,
  "bonus": null,
  "availability": "InStock"
}

Development

pnpm install
pnpm build
pnpm test
pnpm lint

License

MIT

Discussion