Supported Data Provider Backends
Thanks to the Data Provider architecture, react-admin supports a lot of API backends. Check the list below for open-source packages developed and maintained by the core team and developers from the react-admin community.
If you can’t find a Data Provider for your backend below, no worries! Writing a Data Provider takes a couple of hours, and won’t prevent you from using react-admin.
- AppWrite: g33kdev/ra-appwrite
- AWS Amplify: MrHertal/react-admin-amplify
- Blitz-js: theapexlab/ra-data-blitz
- coreBOS: React-Admin coreBOS Integration
- Directus: marmelab/ra-directus
- Django Rest Framework: bmihelac/ra-data-django-rest-framework
- Eve: smeng9/ra-data-eve
- Express & Mongoose: NathanAdhitya/express-mongoose-ra-json-server
- Express & Sequelize: express-sequelize-crud
- FakeRest: marmelab/ra-data-fakerest
- Feathersjs: josx/ra-data-feathers
- Firebase Firestore: benwinding/react-admin-firebase.
- Firebase Realtime Database: aymendhaya/ra-data-firebase-client.
- GeoServer: sergioedo/ra-data-geoserver
- Genezio: bogdanripa/react-admin-genezio
- Google Sheets: marmelab/ra-data-google-sheets
- GraphQL (generic): marmelab/ra-data-graphql (uses Apollo)
- GraphQL (simple): marmelab/ra-data-graphql-simple.
- Hasura: hasura/ra-data-hasura
- Hydra / JSON-LD: api-platform/admin/hydra
- IndexedDB (via LocalForage): marmelab/ra-data-localforage
- IndexedDB: tykoth/ra-data-dexie
- JSON API: henvo/ra-jsonapi-client
- JSON server: marmelab/ra-data-json-server
- LinuxForHealth FHIR: tum-mri-aiim/ra-data-fhir
- LocalStorage: marmelab/ra-data-localstorage
- LocalStorage (via LocalForage): marmelab/ra-data-localforage
- Loopback3: darthwesker/react-admin-loopback
- Loopback4: elmaistrenko/react-admin-lb4
- Loopback4 CRUD: loopback4/ra-data-lb4
- Mixer: ckoliber/ra-data-mixer
- Moleculer Microservices: RancaguaInnova/moleculer-data-provider
- NestJS CRUD: rayman1104/ra-data-nestjsx-crud
- OData: Groopit/ra-data-odata-server
- OpenCRUD: weakky/ra-data-opencrud
- Parse: almahdi/ra-data-parse
- PostGraphile: bowlingx/ra-postgraphile
- PostgREST: raphiniert-com/ra-data-postgrest
- Prisma v1: weakky/ra-data-prisma
- Prisma v2 (GraphQL): panter/ra-data-prisma
- Prisma v2 (REST): codeledge/ra-data-simple-prisma
- ProcessMaker3: ckoliber/ra-data-processmaker3
- REST-HAPI: ra-data-rest-hapi
- Sails.js: mpampin/ra-data-json-sails
- SQLite: marmelab/ra-sqlite-dataprovider
- REST: marmelab/ra-data-simple-rest
- Soul: DeepBlueCLtd/RA-Soul
- Spring Boot: vishpat/ra-data-springboot-rest
- Strapi v3/v4: nazirov91/ra-strapi-rest
- Strapi v4: garridorafa/ra-strapi-v4-rest
- Supabase: marmelab/ra-supabase
- SurrealDB: djedi23/ra-surrealdb
- TreeQL / PHP-CRUD-API: nkappler/ra-data-treeql
- WooCommerce REST API: zackha/ra-data-woocommerce
That’s a long list!
If you don’t know where to start, use any of the following:
- marmelab/ra-data-fakerest: Simulates an API based on a JSON object. It doesn’t even require a server.
- marmelab/ra-data-json-server: Similar to the previous one, but requires an API powered by JSONServer.
- marmelab/ra-data-simple-rest: A basic REST adapter that reflects the structure of many APIs
- marmelab/ra-data-localstorage: Persists user editions in local storage. This allows local-first apps, and can be useful in tests.
- marmelab/ra-data-localforage: Uses a local, offline database based on IndexedDB. Falls back to WebSQL or localStorage.
Tip: Since dataProviders all present the same interface, you can use one dataProvider during early prototyping / development phases, then switch to the dataProvider that fits your production infrastructure.
If you’ve written a Data Provider for another backend, and open-sourced it, please help complete this list with your package.