Platform Overview
Struct PIM emphasizes configurable product models that can represent product/variant hierarchies with flexible attribute scoping. Founded in Denmark, Struct provides a cloud-native solution hosted on Microsoft Azure with strong Nordic market presence and focus on retail/wholesale scenarios.
The platform's Product Structure system acts as a blueprint describing tabs, sections, and attributes that make up Products and Variants. This configurable approach allows businesses to model complex product hierarchies while maintaining data consistency through Business Rules and Enrichment Insights.
Key Facts
- Founded: 2010s
- Headquarters: Denmark
- Infrastructure: Microsoft Azure cloud-native
- API: REST with comprehensive Swagger documentation
- Deployment: Single-tenant SaaS containers

Struct PIM login page interface
The Struct login interface demonstrates the clean, modern design approach of this Azure-hosted PIM platform.
Core entities in Struct's configurable data model with flexible product structures and relationships
Entity | Vendor Name | Description | Key Attributes | Relationships |
---|---|---|---|---|
Product Structure | Product Structure | Blueprint describing tabs, sections and attributes that make up Products and Variants | tab definitions section layout attribute configuration | defines Product schema configures Variant structure |
Product | Product | Sellable SKU that can be simple or part of Variant Groups with configurable attributes | structure-defined fields localized values segmented data | follows Product Structure member of Variant Group categorized in Catalogues |
Variant | Variant | Level beneath Product when variations such as size/color are needed | variant attributes inherited values override data | child of Product member of Variant Group |
Variant Group | Variant Group | Logical bundle of variants; useful for 3-level variant sets | group configuration variant relationships shared attributes | contains Variants organizes product hierarchy |
Global List | Global List | Reusable list of key-value pairs with complex sub-attributes for custom entities | list items complex attributes sub-attribute structure | used by list attributes provides controlled vocabularies |
Catalogue | Catalogue | Assortment tree mapping products to channels with channel-specific attribute scoping | channel mapping attribute scope category structure | contains Categories scopes Product attributes |
New to PIM systems?
Before diving into Struct specifics, you might want to read our detailed guide to PIM systems to understand the fundamentals and key concepts.
Read PIM Systems GuidePlatform Demo & Interface
Watch this comprehensive demo showcasing Struct PIM covering the basic user activities: finding products, enriching products, merchandising products, and publishing products. Recorded on a cloud-hosted Struct 3 environment in January 2023.
The demo highlights Struct's configurable product structures and the flexible attribute scoping system that supports localization and market segmentation.
"I really like the product overview that typically has several tabs and sections. Related entities and attribute values blend together in a great way, providing excellent user experience."
Complete list of attribute types available in Struct with localization and segmentation capabilities
Common Name | Vendor Name | Description | Operators | Examples |
---|---|---|---|---|
Text | Text | Text fields with varying length and rich text formatting capabilities | Equals NotEquals Contains StartsWith IsNull NotNull | Product name Description SKU |
Number | Number | Numeric fields supporting integers and decimals | Equals NotEquals GreaterThan LessThan Between IsNull NotNull | Price Weight Quantity |
Boolean | Boolean | True/false checkbox field | Equals (true/false) IsNull NotNull | Is active Featured Discontinued |
Date | Date | Date and datetime fields with timezone support | Equals NotEquals GreaterThan LessThan Between IsNull NotNull | Launch date Last modified Expiry date |
Single Select | GlobalListValue | Single selection from a Global List with complex sub-attributes | Equals NotEquals In NotIn IsNull NotNull | Brand Category Status |
Multi Select | GlobalListValue (multivalue) | Multiple selections from a Global List when multivalue setting is enabled | In NotIn IsNull NotNull | Features Materials Certifications |
Asset Reference | Media | References to assets stored in built-in Media Archive with automatic resizing and CDN delivery | IsNull NotNull | Product images Videos Documents |
Entity Reference | ProductReference, VariantReference, CategoryReference, AttributeReference, CollectionReference | References to other products, variants, categories, or other entities within the system | Equals NotEquals In NotIn IsNull NotNull | Related products Cross-sell items Replacement products |
Collection | TagCollection | String array for tag-based categorization and labeling | Contains NotContains IsNull NotNull | Tags Keywords Labels |
Complex Object | ComplexAttribute | Structured data containers with configurable sub-attributes for complex business data | IsNull NotNull | Technical specifications Nutrition facts Configuration data |
List | List | A list of values, where each value is defined by a template attribute. | IsNull NotNull | Component lists Ingredient lists |
"Central to Struct is the product list with many attribute types and inheritance. Custom records are modeled as Global Lists. Setting up Global Lists based on complex attribute types gives almost the same modeling capabilities on custom records as on products."
API Implementation Details
Authentication & Security
Struct uses API key authentication with X-Api-Key header. Keys are scoped to granular endpoint permissions, providing fine-grained access control for different integration scenarios.
RESTful Resource Architecture
Struct follows a more traditional REST approach with direct resource endpoints like /browse/products and /products/{id}/attributevalues. This provides intuitive navigation patterns where product browsing and detailed attribute retrieval are separate, clearly defined operations. The API structure mirrors typical e-commerce patterns, making it accessible to developers familiar with standard REST conventions.
Simplified Data Access Patterns
Unlike query-driven systems, Struct's API emphasizes direct resource access with pagination through standard page parameters. Product data retrieval follows a two-step pattern: browse for product lists, then fetch detailed attribute values per product. This approach is more straightforward for simple integration scenarios but may require more API calls for complex filtering requirements.
Search & Filtering
The POST /api/search endpoint accepts JSON Query DSL combining Filters and Expressions. Full-text search is supported via /api/search/fulltext, enabling comprehensive product discovery capabilities.
Localization & Segmentation
Attribute values can be scoped by Language, Market (Channel), and Dimension contexts defined by Attribute Scope. This provides powerful multi-market and multi-language support without data duplication.
Business Rules Engine
No-code rule engine automates value calculation, validation, and workflow triggers. This enables complex business logic implementation without custom development.
Webhooks & Synchronous Event Architecture
Webhooks can be created via Settings → Webhooks or POST /api/webhooks. Events are delivered with HMAC signatures for security. Importantly, Struct sends webhook events in the same "batch" as the original operation - if you bulk update 25 products, you receive one webhook event containing all 25 products. This differs from most PIM systems that emit individual events per entity change through separate event layers. This synchronous approach means that when middleware caching is implemented (which is recommended for performance), events may need to be routed around Struct entirely to maintain real-time data consistency, as the webhook timing is tied directly to the API operation flow.
API Usage Example
Example showing how to update a product using Struct's REST API with PowerShell
# Update product name using Struct PIM API
$apikey = "<api_key>"
$body = @(
@{ id = 98765; attributes = @{ Name = @{ en = "New product title 2025" } } }
) | ConvertTo-Json
Invoke-RestMethod -Uri "https://acme.struct.com/api/products" `
-Method Patch `
-Headers @{"x-api-key"=$apikey; "Content-Type"="application/json"} `
-Body $body
API Search Example: Find Product by Attribute
Example showing how to search for products by a specific attribute value using Struct's Search API and JSON Query DSL.
# Search for products using Struct PIM API
$apikey = "<api_key>"
$searchBody = @{
Query = @{
Expressions = @(
@{
FieldName = "sku"
Operator = "Equals"
Value = "SKU-12345"
}
)
}
} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Uri "https://acme.struct.com/api/search" `
-Method Post `
-Headers @{"x-api-key"=$apikey; "Content-Type"="application/json"} `
-Body $searchBody
Strategic considerations for Struct implementation including Azure-hosted infrastructure, Nordic market focus, and platform decisions
Technical Specifications
Azure-Native Architecture
Hosted on Microsoft Azure with single-tenant containers providing enterprise-grade security and performance. Multi-region deployment options available for global organizations.
Built-in Media Archive
Integrated DAM with dynamic resizing, WebP conversion, and CDN-friendly signed URLs. AI tagging via Azure Cognitive Services plug-in provides automated metadata enrichment.
Enrichment Insights
Rule-based scoring system delivers completeness percentages (0-100%) per product, variant, and catalogue. Built-in Amazon Vendor and CSV marketplace exporters include validation and readiness indicators.
Bulk Operations
Bulk updates through /api/products/bulk and /api/variants/bulk endpoints support up to 5,000 entities per call, enabling efficient large-scale data management.
"As mentioned in their documentation: 'The API is built for updating and reading large amounts of data in short time with extended support for batching.' However, they recommend not using the API as a direct source for presentation. In my experience, there's really no way to set up Struct without middleware for performance optimization."
Limitations & Implementation Considerations
API Performance Requirements
While Struct provides comprehensive REST API capabilities, the platform explicitly recommends against using the API as a direct source for presentation layers. Most real-world implementations require middleware for performance optimization, adding architectural complexity and development overhead.
Bulk Operation Constraints
The 5,000 entity limit per bulk operation may hinder large catalog management scenarios. Organizations with extensive product catalogs may need to implement complex batching strategies for efficient data operations.
Nordic Market Focus
Strong Nordic market presence may limit global feature development priorities. Organizations outside the Nordic region should evaluate whether the platform's roadmap aligns with their specific market requirements and compliance needs.
No Native Currency/Price Attribute
Lack of dedicated currency or price attribute types requires custom modeling approaches for financial data, potentially complicating pricing workflows and multi-currency scenarios.
Azure Dependency
Single-tenant Azure hosting provides security benefits but limits deployment flexibility. Organizations requiring on-premises deployment or alternative cloud providers have no options.
Commercial Considerations
While pricing transparency is appreciated, the usage-based model can become expensive for high-volume scenarios. For detailed pricing strategies and negotiation approaches, refer to our comprehensive SaaS negotiation guide.
💡 Azure-Native AI Content Solutions
Key Benefits & Strengths
Product Structure Flexibility
Product Structures function as dynamic blueprints that define attribute groups, required fields, and validation rules. This enables different product types to have tailored data models while maintaining consistency within categories.
Azure-Native Architecture
Built specifically for Microsoft Azure with native integration to Azure services. This provides enterprise-grade security, compliance capabilities, and seamless integration with Microsoft business applications.
Global Lists for Master Data
Global Lists (brands, suppliers, categories) provide centralized master data management with hierarchical structures. These lists support complex business rules and can be shared across multiple product structures.
Intuitive User Experience
Clean, modern interface designed for business users rather than technical administrators. The configurable dashboard and simplified navigation reduce training requirements and improve user adoption.
Transparent Pricing Model
All prices available on web page.
Strong API Foundation
Comprehensive REST API with bulk operations support, though API performance may require middleware layers for high-volume presentation layer integrations. Good for back-office integration scenarios.

Sivert Kjøller Bertelsen
PIM Implementation Consultant • Multiple Struct implementations
"Struct excels at providing a clean, intuitive product overview with excellent attribute organization. The Global Lists approach for custom entities is clever, and the Azure-native architecture ensures solid performance. However, the API performance limitations mean you'll need middleware for most real-world scenarios. The platform strikes a good balance between functionality and usability for mid-market organizations."