✨ Strapi MCP is now Generally Available - let your agents manage your Strapi content ✨

Relations

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.

Demo

See Relations in action

Benefits

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.

Conditional Fields - Content Manager

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.

Code

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.

Frequently Asked Questions