Moteur and Sanity

Sanity keeps your content in its cloud. Moteur keeps it in a folder you can clone.

Both let you model content in code and give writers a calm place to edit. The difference is where it lives: Sanity’s Content Lake, or a Git repository of your own. Here’s the rest, checked on Sanity’s pages.

Side by side

Eighteen points that matter for a client site. Sanity wins some of them. Each Sanity fact links to the page it comes from.

MoteurSanity
Where the content livesPlain JSON files in the project’s own Git repositorySanity’s cloud (the Content Lake)1
In GitYes: each project is its own repository, a commit per saveNo1
Who runs itMoteur Cloud. Or host the open-source engine yourself, without the StudioThe editor can run anywhere. The content lives in Sanity’s cloud1
Open sourceEngine: MIT. The Studio and Moteur Cloud: not open sourceEditor (Studio): MIT. Content Lake: not open source2
Free plan1 person, 1,000 entries, 2,000 API requests a month20 people, 10,000 documents, 3 days of history3
First paid planPersonal, $9 a month: 2 people, 10,000 entriesGrowth, $15 per person a month3
How it’s pricedA plan per project, with extra people, requests, credits or storage in packsPer person, plus usage3
Review before publishingDrafts and reviews on every plan. A reviewer or admin approvesDrafts on every plan. Approvals are early access, or built yourself4
Working togetherOn Moteur Cloud: see who’s in which field, leave notes on fields, and no save overwrites another’sReal-time co-editing with presence, on every plan5
LanguagesAny number of languages, field by field, on every planUnlimited languages, usually through a plugin6
RolesAdmin, developer, writer, reviewer, translator and billing, on every plan. No custom roles2 roles on Free, 5 on Growth. Custom roles on Enterprise3
HistoryEvery save is a Git commit, kept as long as the repository3 days on Free, 90 on Growth, 365 on Enterprise7
ImagesTransforms by URL, eight crop ratios and a focal point you setTransforms by URL, with a hotspot and crop set in the editor8
FormsBuilt in, with a spam folderNot built in3
APIREST, with an OpenAPI document per site. No GraphQLGROQ, plus GraphQL and HTTP APIs9
WebhooksSigned, and retried for two hours if your server is down2 on Free, 4 on Growth3
AI agents (MCP)Official and hosted: agents draft, and a person approves before anything goes liveOfficial and hosted: reads, writes, and can publish with no approval step10
Writing help (AI)Off until an admin turns it on. Credits on every plan, from 10 a month1,000 credits a month on Free and Growth11

Checked 26 October 2026. From Sanity’s own pages. If something there has changed, tell us and we’ll fix it here.

Time travel

What did it say in March?

Clients ask. Usually a lawyer is involved. Slide back and see which plans can still answer.

  • Sanity · FreeKeeps 3 daysGone
  • Sanity · GrowthKeeps 90 daysCan restore
  • Sanity · EnterpriseKeeps 365 daysCan restore
  • Moteur · every planKeeps everythingCan restore

History windows from Sanity’s pricing and docs. Moteur’s history is the project’s Git log, on every plan, kept as long as the repository.

Which one fits

Who’d you pick?

Seven situations from agency life. Guess, then see where we’d honestly send you. Sometimes it’s a draw.

  1. Louise · Admin

    A festival site run by twenty volunteers, and a budget of exactly zero.

    SanityTwenty people on the free plan is generous. Moteur’s free plan is one person.

  2. Théo · Builder

    Your developers want to build a custom editor in React, panel by panel.

    TieSanity lets you reshape its Studio in React. Moteur’s Studio isn’t yours to reshape, but its REST API does everything the Studio does, so your own editor can too.

  3. Marguerite · Writer

    The front end team lives on GraphQL and won’t hear otherwise.

    SanitySanity has GraphQL beside GROQ. Moteur speaks REST.

  4. Céleste · Reviewer

    The client’s lawyer wants the homepage exactly as it was on 3 March, last year.

    MoteurEvery save is a commit. Check it out, read it, send it.

  5. Claude · AI agent

    An agent fills in 200 product pages overnight.

    MoteurThey wait as drafts. Someone approves them in the morning, with coffee.

  6. Sophie · Writer

    Twelve small client sites, each billed to its own client.

    MoteurA plan per project, from free. Each invoice goes where it belongs.

  7. Céleste · Reviewer

    Two writers open the same article at 4:55 pm on a Friday.

    SanitySanity edits live, together, in the same field. Moteur shows who’s in which field and stops one save from overwriting the other, but you don’t type in the same field at once.

Our honest count: Moteur 3, Sanity 3, ties 1.

Moving day

Moving from Sanity

No one-click importer yet. Here’s how it’s done today, with the tools that exist, and what’s coming.

  1. Works today

    Pack up Sanity

    Sanity’s command line exports a dataset: every document as NDJSON, with its files.

    npx sanity dataset export production sanity-export.tar.gz
  2. Works today

    Shape the models

    Write each model as JSON and create it from the command line. Or let an agent do it through MCP. It reads a sample of the export and proposes the models. You look them over in the Studio.

    moteur models create --file models/article.json
    moteur models create --file models/author.json
  3. Works today

    Bring the content

    A short script turns the export into one import bundle: models, files and entries. The command line brings it all in, or nothing if one thing fails. Or connect one agent to both MCP servers: it reads from Sanity’s and writes drafts to Moteur’s. Those drafts wait for a person, like any agent’s work.

    # the export reshaped into one bundle: models, files, entries
    moteur imports run site.json --dry-run   # check it all, keep nothing
    moteur imports run site.json
  4. Works today

    Review, then switch

    Everything arrives as a draft. A reviewer reads, approves, and it goes live. Then point the site at the project’s channel: one REST API, with its own OpenAPI document.

  5. Coming

    An importer for Sanity

    We’re writing an importer that reads a dataset export and does steps 2 and 3 in one go. This page will say when it ships. Until then, the steps above work. Its hardest part, turning Sanity’s Portable Text into Moteur’s rich text, is already written and tested.

Questions people ask

A reader asksSanity’s free plan has twenty people. Why Moteur?

MoteurIf you need twenty people today without paying, Sanity is generous there. Moteur’s free plan is one person. A client’s team goes on a paid plan, priced per site.

A reader asksIs Sanity open source?

MoteurIts editor, Sanity Studio, is MIT-licensed. The Content Lake, where the content is kept, is Sanity’s service. Moteur’s engine is MIT and reads plain files. Its Studio comes with Moteur Cloud.

A reader asksDoes Sanity have GraphQL?

MoteurYes, beside its own query language, GROQ. Moteur has a REST API per site, and no GraphQL.

Try it on one site.

A free project costs nothing, and its files are yours from the first save.