Content model relationships in minutes
Define complex, structured content models that mirror your app’s data, no boilerplate code required. Strapi Relations let you seamlessly link content-types together to build APIs that serve real-world use cases out-of-the-box.

See Relations in action
Build smarter APIs without writing custom join logic
Strapi Relations take the pain out of managing linked content by handling associations at the data model level. Whether you're building a blog, marketplace, or multi-language app, Relations ensure your frontend gets clean, structured, and connected data.
Flexible relationship modeling
Define exactly how your content types connect. Support for one-way, one-to-one, one-to-many, many-to-one, many-to-many, and many-way relationships, all configurable from the admin panel or directly in schema files.
Populate anything, even deeply
Get just the data you need and skip what you don’t. Use the populate parameter to include related entries and nested structures in API responses, with full control over the depth and structure of your queries.
Powerful filtering on linked content
Deep filter your content based on relations. Query articles by author location, products by category metadata, or restaurants by chef rating, all via URL or programmatic queries. No SQL gymnastics required.
On-the-fly relation creation
Create and edit relations directly within the current entry, no more context-switching. This new experience removes friction from the content editing workflow and allows users to add, edit, and publish linked content types in one smooth flow.

6 relation types supported
From one-to-one to many-way, choose the relationship that fits your use case best. Bidirectional and unidirectional options give you full control over how data flows.

Relational fields in the admin UI
Manage linked entries visually with dropdowns, multi-selects, and drag-and-drop reordering. Content teams love the ease, developers love not building it from scratch.

Nested populates (1–N levels deep)
Control how much relational data to expose in your API. Populate 1 level or deeply nest fields with specific targeting of components, dynamic zones, and media.
Deep filtering
Filter based on fields of related content-types. Ideal for building faceted search, custom dashboards, or smart content recommendations.
Bidirectional relationships
Mirror relationships in both directions by defining ownership with mappedBy and inversedBy. Useful for advanced querying and keeping your schemas clean and intuitive.
Component & Dynamic Zone compatibility
Relations work seamlessly inside components and dynamic zones, great for building rich, reusable content structures like SEO metadata or modular page builders.
Fully customizable schema via code
Prefer code-first? Define your relations directly in schema files using JSON syntax. Ideal for version control, migrations, and collaboration.