Strapi APIs to access your content
Once you've created and configured a Strapi project, created a data structure with the Content-Type Builder and started adding data through the Content Manager, you likely would like to access your content.
From a front-end application, your content can be accessed through Strapi's Content API, which is exposed:
- by default through the REST API
- and also through the GraphQL API if you installed the Strapi built-in GraphQL plugin.
REST and GraphQL APIs represent the top-level layers of the Content API exposed to external applications. Strapi also provides 2 lower-level APIs:
- The Entity Service API is the recommended API to interact with your application's database within the backend server or through plugins. The Entity Service is the layer that handles Strapi's complex data structures like components and dynamic zones, which the lower-level layers are not aware of.
- The Query Engine API interacts with the database layer at a lower level and is used under the hood to execute database queries. It gives unrestricted internal access to the database layer, but should be used only if the Entity Service API does not cover your use case.
This documentation section includes reference information about the following Strapi APIs and some integration guides with 3rd party technologies:
↕️ REST API
Query the Content API from a front-end application through REST.
↕️ GraphQL API
Query the Content API from a front-end application through GraphQL.
🔃 Entity Service API
Query your data through the backend server or plugins.
🔃 Query Engine API
Query your data by interacting directly with the database layer.
🔄 Integration guides
Use 3rd-party technologies to query the Content API from a front-end application.
Plugins also have their dedicated APIs: the Server API and the Admin Panel API. These plugin-related APIs are offered to develop plugins and allow a plugin to interact either with the back-end server of Strapi (Server API) or with the admin panel of Strapi (Admin Panel API).