Skip to main content

🐚 SeaORM is a powerful ORM for building web services in Rust


Advanced Relations

Model complex relationships 1-1, 1-N, M-N, and even self-referential in a high-level, conceptual way.

Familiar Concepts

Inspired by popular ORMs in the Ruby, Python, and Node.js ecosystem, SeaORM offers a developer experience that feels instantly recognizable.

Feature Rich

SeaORM is a batteries-included ORM with filters, pagination, and nested queries to accelerate building REST, GraphQL, and gRPC APIs.

Production Ready

With 250k+ weekly downloads, SeaORM is production-ready, trusted by startups and enterprises worldwide.

Unique features of SeaORM

You don't have to write this by hand! Entity files can be generated from an existing database with sea-orm-cli.

use sea_orm::entity::prelude::*;
#[sea_orm::model]
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
#[sea_orm(table_name = "user")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: i32,
pub name: String,
#[sea_orm(unique)]
pub email: String,
#[sea_orm(has_one)]
pub profile: HasOne<super::profile::Entity>,
#[sea_orm(has_many)]
pub posts: HasMany<super::post::Entity>,
}
impl ActiveModelBehavior for ActiveModel {}

SeaORM ➕ GraphQL = 🧭 Seaography

With Seaography, you can instantly launch a fully-fledged GraphQL server!

SeaORM ➕ React = 🖥️ SeaORM Pro

With SeaORM Pro, you can easily launch an admin panel for your application, frontend development skills not required!

Gold Sponsors


Silver Sponsors

Express your passion for Rust

The Rustacean Sticker Pack 🦀 are made with a premium water-resistant vinyl with a unique matte finish.
All proceeds contributes directly to open-source development.

Meet Terres, our official mascot

A friend of Ferris, Terres the hermit crab is a member of the Rustacean family.