Migrate from Contentful

Cosmic does not import a Contentful space in one click. The mapping is:

  1. Export the space with the Contentful CLI (contentful space export) or the Content Management API.
  2. Create an Object type per content type. Field ids become metafield keys.
  3. Upload assets with @cosmicjs/sdk media.insertOne. The multipart field name is media and the upload host is https://workers.cosmicjs.com/v3. See Media.
  4. POST each entry to /v3/buckets/{slug}/objects with the write key. A script can use objects.insertOne, or Python insert_one. Batch writes accept at most 25 operations.
  5. Point the frontend at the Cosmic bucket and remove the Contentful client.

Rich text in Contentful is not Cosmic rich text. Convert it to markdown before storing it in a rich-text metafield, or store the original structure in a JSON text field and render it yourself.

Compare plan limits against your current invoice using the plain-text price list at pricing.md.

FAQ

Is there an official Contentful importer?

No. Export entries, create Object types, then POST objects. Enterprise plans include migration assistance.

How do content types map?

A Contentful content type becomes a Cosmic Object type. Fields become metafields. Entries become Objects. Assets become media.

What happens to linked entries?

Create the related objects first, then store their Cosmic ids on a relationship metafield.

How much does Cosmic cost?

Project plans are Free ($0), Builder ($99/mo), Team ($299/mo), Business ($499/mo), Enterprise (custom pricing). Yearly billing saves 10%. Workspace plans are Small Workspace ($999/mo) and Large Workspace ($2,999/mo), and they start with a 30-day free trial. Allowances, add-on rates, and the rest of the pricing FAQ are plain text at https://www.cosmicjs.com/pricing.md.

Are API keys required, and is content private?

Each Bucket has a read key and a write key in Bucket Settings > API Access. GET requests use the read key. POST, PATCH, and DELETE use the write key as Authorization: Bearer. Do not put the write key in a browser bundle, a mobile app, or a NEXT_PUBLIC_ variable. SAML single sign-on is on Large Workspace and Enterprise. The audit log is append-only. Text versions: https://www.cosmicjs.com/security.md and https://www.cosmicjs.com/docs/dashboard/audit-log.md.

Can an agent create a Cosmic project without an existing account?

Yes. POST https://dapi.cosmicjs.com/v3/agents/sign-up provisions a free-tier project and bucket tied to a human email, with no existing Cosmic account. The human claims it with the emailed one-time code. The playbook is https://www.cosmicjs.com/docs/ai-onboarding.md.