Skip to main content

Installation

Add the package to your pubspec.yaml:
dependencies:
  buttercms_dart: ^1.0.0
Then run:
dart pub get
Or for Flutter projects:
flutter pub add buttercms_dart

Initialization

Initialize the SDK with your Read API token from the ButterCMS Settings.
import 'package:buttercms_dart/buttercms_dart.dart';

final butter = ButterCMS(apiKey: 'your_api_token');

API methods

Pages

// Retrieve a single page
final page = await butter.page.retrieve(
  pageType: 'landing_page',
  pageSlug: 'home-page',
  params: {'locale': 'en', 'levels': '2'},
);
print(page);

// List all pages of a type
final pages = await butter.page.list(
  pageType: 'landing_page',
  params: {'page': '1', 'page_size': '10'},
);
print(pages);

Collections

// Retrieve collection content
final content = await butter.content.retrieve(
  keys: ['faq', 'navigation'],
  params: {'locale': 'en'},
);
print(content);

Blog Posts

// List blog posts
final posts = await butter.post.list(
  params: {'page': '1', 'page_size': '10', 'exclude_body': 'true'},
);

// Retrieve a single post
final post = await butter.post.retrieve(slug: 'my-post-slug');
print(post);

Authors

// List all authors
final authors = await butter.author.list(
  params: {'include': 'recent_posts'},
);

// Retrieve a single author
final author = await butter.author.retrieve(
  slug: 'jennifer-smith',
  params: {'include': 'recent_posts'},
);

Categories

// List all categories
final categories = await butter.category.list(
  params: {'include': 'recent_posts'},
);

// Retrieve a single category
final category = await butter.category.retrieve(
  slug: 'news',
  params: {'include': 'recent_posts'},
);

Tags

// List all tags
final tags = await butter.tag.list(
  params: {'include': 'recent_posts'},
);

Feeds

// Get RSS feed
final rss = await butter.feed.retrieve(feedType: 'rss');

// Get Atom feed
final atom = await butter.feed.retrieve(feedType: 'atom');

// Get Sitemap
final sitemap = await butter.feed.retrieve(feedType: 'sitemap');

Resources

GitHub Repository

View source code, report issues, and contribute

pub.dev Package

Package documentation and version history