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
Eicrud: danyalutsevich/ra-data-eicrud
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
Nestjs-query (GraphQL): mrnkr/ra-data-nestjs-query
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/SQLite: 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
Supabase (GraphQL): @groovestack/ra-data-graphql-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.