RankPine docs
Integrations

Framer

Connect a Framer project, map a writable CMS collection, and publish articles automatically through Framer's Server API.

RankPine connects directly to a Framer project through Framer's official Server API. It can discover your CMS collections and locales, update an item, publish a preview deployment, and deploy that version without opening the Framer editor.

The Server API is in open beta

Framer currently labels the Server API as open beta. API use is free during the beta, but Framer says pricing is still to be decided. The SDK, behavior, and limits may change. RankPine keeps CMS updates idempotent and treats project deployment as a separate step so a beta failure cannot be mistaken for a live article.

Before you start

You need:

  • the Framer project URL or ID;
  • a project-bound API key created by someone who can edit CMS content and publish the project;
  • an existing CMS collection with compatible fields; and
  • optionally, the public URL prefix for collection pages, such as https://example.com/blog.

The API key acts with the Framer permissions of the person who created it. Use a dedicated key for RankPine, keep its project access as narrow as possible, and do not send it through email or chat. RankPine encrypts the key at rest after the connection test.

Create a project API key

Open the project's settings

Open the target project in Framer. Go to Site Settings → General → API Keys.

Create and copy the key

Create a key for RankPine and copy it immediately. Framer binds the key to this project; it is not a workspace-wide credential.

Confirm the creator can edit and publish

The key cannot do more than its creator. Make sure that person can edit the target CMS collection and publish/deploy the site. Read-only content access can discover a collection but cannot write to it.

Framer's official setup reference is the Server API quick start.

Prepare the CMS collection

RankPine maps into an existing collection. Create these fields in Framer before connecting:

RankPine valueCompatible Framer fieldRequired
TitlestringYes
SlugFramer's system slugYes
Formatted bodyformattedTextYes
Excerptstring or formattedTextYes
Featured imageimageYes
Published datedateYes
SEO titlestringOptional
SEO descriptionstring or formattedTextOptional
Canonical URLlink or stringOptional

The formatted body is sent as supported HTML. Headings, paragraphs, links, lists, and inline image markup from the reviewed RankPine article are preserved. Framer's CMS reference describes the supported field types and formattedText HTML/Markdown handling in Working with CMS Collections.

Collection ownership

RankPine shows who controls every discovered collection:

  • User-created collections are writable when the API-key owner has content permission.
  • Collections managed by RankPine's current API context can be written only through their managed-collection interface. Fields marked user-editable are not valid mapping targets because Framer ignores plugin writes to them.
  • Collections managed by another plugin are read-only. RankPine shows them for clarity but will not let you connect one or pretend a write succeeded.

Choose the normal user-created collection behind your Framer blog unless you deliberately own a compatible managed collection.

Connect and map the collection

  1. Open the correct website in RankPine.
  2. Go to Settings → Integrations.
  3. On Framer, choose Connect.
  4. Paste the project URL or ID and the project API key.
  5. Select Discover collections.
  6. Choose a writable collection.
  7. Map every required field and any optional SEO fields.
  8. Choose how RankPine should resolve the locale.
  9. Choose Publish the Framer project or Save as a CMS draft.
  10. Optionally enter the public collection URL prefix.
  11. Select Connect. RankPine re-checks the project, collection ownership, field types, and locales before encrypting the key.

The Match the article language locale setting uses an exact BCP-47 match first, then a base-language match, then the project's default locale. You can pin the connection to one discovered locale instead.

What happens when an article publishes

RankPine separates publication into two durable boundaries:

  1. CMS item update. RankPine creates or updates the item in the mapped collection. Formatted text is sent as HTML and the configured locale receives localized field and slug values.
  2. Project publication. In live mode, RankPine asks Framer to publish a new deployment, waits for it to become ready, and then deploys it to the project's configured production domain.

Framer documents that the Server API is not transactional. If the CMS update succeeds but project publication fails, RankPine stores the Framer item ID, leaves the article Ready, and retries the project boundary safely. It does not mark the RankPine article Published until the required project publication has succeeded.

For a newly created item in a user-owned collection, RankPine records its Framer item ID and attaches the stable RankPine article ID as item plugin data. A retry finds that identity—or the stored Framer ID—and updates the same row. Managed collections use the stable RankPine article ID directly as the item ID.

Draft and live modes

Save as a CMS draft

Framer excludes draft CMS items from project publishing. RankPine updates the item with draft: true, does not call the project publish/deploy APIs, and leaves the RankPine article Ready because it is not live.

Publish the Framer project

RankPine updates the item with draft: false, publishes a deployment, waits for Framer's deployment status, and calls the production deploy operation. If you entered a public collection URL prefix, RankPine stores that exact item URL. Otherwise it stores the best project or deployment URL Framer returns.

Framer's current publishing behavior is documented in the Server API reference and Publishing API reference.

Beta, connection, and rate-limit caveats

  • The official framer-api SDK uses a long-lived WebSocket connection, not the shared HTTP transport used by most RankPine publishers.
  • RankPine bounds connection, operation, deployment, and shutdown time. It explicitly disconnects every SDK session, including failed operations.
  • Framer says a cold start can take a second or two and later calls on the same instance are faster.
  • Framer has not published fixed Server API request-per-minute limits. RankPine relies on its publishing rate limit, per-article Inngest serialization, bounded retries, and one short-lived connection per durable phase rather than claiming an undocumented quota.
  • During open beta, Framer says exact paid pricing is still undecided.

See Framer's Server API FAQ for the current beta, WebSocket, non-transactional, and pricing notes.

Test, reconnect, or disconnect

  • Test opens a bounded Server API connection with the stored encrypted key, confirms the project, re-discovers collections and locales, and validates the saved mapping against current field types.
  • Reconnect requires the API key again, refreshes collection/field discovery, and replaces the saved mapping and encrypted key.
  • Disconnect deletes the encrypted key and non-secret mapping from RankPine. Articles already deployed in Framer stay there.

After disconnecting, delete or rotate the API key in Framer Site Settings if it is no longer used anywhere else. RankPine is a direct Server API integration; it does not claim to be a Framer Marketplace plugin.

Troubleshooting

No writable collection appears

Confirm the API-key creator can edit CMS content. If the collection says it is managed by another plugin, only that plugin can write to it; use a user-created collection instead.

A field cannot be selected

RankPine lists only compatible types for each mapping. Add the matching field in Framer, refresh discovery, then select it. An unsupported Framer field cannot be used as a fallback.

The CMS item changed but the site did not

Open the RankPine article's publishing error. A preview publish or production deploy may have failed after the item update. Retrying is safe: RankPine reuses the same item ID and does not mark the article Published until deployment succeeds.

The item is still a draft

Reconnect Framer, choose Publish the Framer project, and publish or update the article again. Draft mode intentionally excludes the item from Framer publishing.

The stored URL opens the site, not the article

Add the collection page's public URL prefix, such as https://example.com/blog. Framer's Server API returns project and deployment URLs but does not expose every collection page route in the CMS item response.

On this page