# Content API

> Source: https://docs.strapi.io/cms/api/content-api

Strapi's Content API provides access to your content through REST and GraphQL APIs for front-end applications, plus lower-level Document Service and Query Engine APIs for backend and plugin development.

Once you've created and configured a Strapi project, created a content structure with the [Content-Type Builder](/cms/features/content-type-builder) and started adding data through the [Content Manager](/cms/features/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](/cms/api/rest)
- and also through the [GraphQL API](/cms/api/graphql) if you installed the Strapi built-in [GraphQL plugin](/cms/plugins/graphql).

You can also use the [Strapi Client](/cms/api/client) library to interact with the REST API.

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 [Document Service API](/cms/api/document-service), accessible through `strapi.documents`, is the recommended API to interact with your application's database within the [backend server](/cms/customization) or through [plugins](/cms/plugins-development/developing-plugins). The Document Service is the layer that handles **documents**  as well as Strapi's complex content structures like components and dynamic zones.
- The [Query Engine API](/cms/api/query-engine), accessible through `db.query` (i.e., `strapi.db.query`), 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 is not aware of any advanced Strapi features that Strapi 5 can handle, like Draft & Publish, Internationalization, Content History, and more.<br/>⚠️ In most, if not all, use cases, you should use the Document Service API instead.

<br/>

This documentation section includes reference information about the following Strapi APIs and some integration guides with 3rd party technologies:

- [REST API](/cms/api/rest): Query the Content API from a front-end application through REST.

- [GraphQL API](/cms/api/graphql): Query the Content API  from a front-end application through GraphQL.

- [Strapi Client](/cms/api/client): Interact with the REST API through the Strapi Client library.

- [Document Service API](/cms/api/document-service): Query your data through the backend server or plugins.

- [OpenAPI Specification](/cms/api/openapi): Generate OpenAPI specifications for your Strapi applications.

:::strapi Integrations
If you're looking for how to integrate Strapi with other platforms, such as [Next.js](https://strapi.io/integrations/nextjs-cms), [Astro](https://strapi.io/integrations/astro), [Angular](https://strapi.io/integrations/angular-cms), and more, please refer to Strapi's [integrations pages](https://strapi.io/integrations).
:::
