Flutter Data is the seamless way to handle persistent data models in the reactive Flutter environment.

Inspired by Ember Data and ActiveRecord.

tests pub.dev license


Working on a Flutter app that talks to an API server?

You want to fetch data from a REST API, serialize it, store it for offline use and hook it up with your state management solution – all that for 20+ interconnected models in your app.

Trying to make this work with http/Chopper/Firebase, json_serializable, ad-hoc caching, Provider wiring up, custom loading/error states (not to mention sync’ing with local storage, Hive or SQLite)… can be painful 😫.

What if you could get it all working smoothly with minimal effort?

Get started with the quickstart guide and go through the tutorial to see how we build a CRUD app from the ground up in record time!


Fully compatible with the tools we know and love:

FlutterIt can also be used with pure Dart
json_serializableNot required! Other fromJson/toJson can be supplied
JSON REST APIGreat support
JSON:APIGreat support
FirebaseAdapter coming soon 🎉 as well as Firebase Auth
ProviderNot required! It can be automatically wired up
get_itNot required! Very easy to integrate
Streams / BLoCGreat support
FreezedGood support
Flutter WebFull support coming soon!
HiveFlutter Data uses Hive internally for local storage
Chopper/RetrofitNot needed: Flutter Data generates its own REST clients (**)

(**) That said, adapters are being considered!

Around the web

➡ Go to the quickstart!