Developer Experience

Modular and extensible

ApostropheCMS is open source and has an extensible, modular architecture that encourages the customization and extension of its core functions to meet the exact needs of your project.

  • Want to pull some product data from external API into a custom content type?

  • Have a client that needs a unique publishing workflow based on roles in its CRM?

  • Maybe you need to display locations in a completely novel mapping experience?

Apostrophe is ideal for building custom experiences and integrations like this, and can support large scale projects for big organizations and enterprises thanks to its extensibility and solid open source foundations.

Custom widgets

In this demo, we're mostly showing a streamlined version of Apostrophe's capabilities, but we also have a good example included here demonstrating a custom project-level integration.

To the right, you'll see a simple widget that reads pull request data from the GitHub API.

Apostrophe provides the architecture where you can organize your code to integrate the API data, while also scaffolding out the UI for enabling configuration at the document/widget level.

Try editing this widget to the right, and check out its source code while you're at it.

Open PRs for apostrophecms/apostrophe

  1. applying widget level styles in template

    item.user.login

    Opened on December 10 2025

    Number 5212

  2. PRO-8593: object types support for styles

    item.user.login

    Opened on December 10 2025

    Number 5211

  3. PRO-8615: Add utility CSS

    item.user.login

    Opened on December 10 2025

    Number 5210

Publish your own Extensions

Any custom module you build for your project (like the GitHub widget above) can also be packaged and released via npm. Learn out how to do that here.

You can see our current library of extensions, as well as information about how to publish your own, at our Extensions page. Since Apostrophe 3 is a brand new release, we are still in the process of migrating our full library of extensions for this new version. Stay tuned for lots of releases in this space soon, and learn how to contribute here.

Apostrophe and the Jamstack

Not only does Apostrophe provide core internal APIs to make it easy to integrate other platforms into your project, it's also designed for interoperability with the Jamstack ecosystem with a robust set of RESTful content APIs. With these, your client applications can ingest structured JSON data and fully rendered HTML fragments from Apostrophe. The same APIs are used to power Apostrophe's own editing experience.

If you want to see this in action with this demo, check out the GET routes for the pages and articles modules.

Dive in with the documentation

A good place to dive into the developer documentation is our Getting Started guide. From here, you'll be able to get Apostrophe installed locally to your development environment, and learn more about customizing it to your projects' needs.

We'll see you in the chat

You can find much of the core team, as well as a community of like minded developers, in our GitHub Discussions section and our Discord server. Stop by to ask questions or share what you're working on - we look forward to meeting you.

Need some additional developer support?

We can help. Reach out to us to learn about our commercial packages and services.