# Query Engine API
Strapi provides a Query Engine API to interact with the database layer at a lower level. It should mostly be used by plugin developers and developers adding custom business logic to their applications.
Strapi's Query Engine API gives unrestricted internal access to the database layer. It is not aware of the complex data structures like components and dynamic zones, as opposed to the Entity Service API.
# Basic usage
The Query Engine is available through strapi.db.query
:
strapi.db.query('api::blog.article').findMany({ // uid syntax: 'api::api-name.content-type-name'
where: {
title: {
$startWith: '2021',
$endsWith: 'v4',
},
},
populate: {
category: true,
},
});
# Available operations
The Query Engine allows operations on database entries, such as:
- CRUD operations on single entries or multiple entries
- filtering entries, populating relations and ordering and paginating queries results