Package Information
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
withquery,foundand 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, operationsSearch,Get Product,Get Price. - Stroylandiya Product Card — fetches one product page by slug/URL and returns
detailed card data. Use it afterSearchwhen 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 returns503 to any non-browser request, so they cannot be read from n8n. Only the mainstroylandiya.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