SDK or REST API?
Use the SDK when
- You are building in one of the supported languages
- You want authentication, JSON parsing, and pagination handled automatically
- Your use case is reading content — pages, collections, blog posts, feeds
Use the REST API directly when
- Your language does not have an official SDK
- You need to create, update, or delete content via the Write API
- You need the Image Transformation API or Webhooks API
- You need fine-grained control over HTTP behavior, caching headers, or CDN interaction
- You are minimizing dependencies (serverless functions, edge workers, embedded environments)
Need a full app? See Starter Projects.
SDK list
| Language | Package | Doc |
|---|---|---|
| JavaScript | buttercms | JavaScript SDK |
| Python | buttercms-python | Python SDK |
| Ruby | buttercms-ruby | Ruby SDK |
| PHP | buttercms/buttercms-php | PHP SDK |
| Java | buttercms-java | Java SDK |
| .NET | ButterCMS | .NET SDK |
| Go | buttercms-go | Go SDK |
| Dart | buttercms_dart | Dart SDK |
| Swift | buttercms-swift | Swift SDK |
| Kotlin | buttercms-kotlin | Kotlin SDK |
| Gatsby | gatsby-source-buttercms | Gatsby SDK |