Consuming APIs
APIs, or Application Programming Interfaces, serve as the bridge between different software applications, allowing them to communicate and exchange data. By consuming external APIs, developers can use existing functionality and data sources to upgrade their applications without building everything from scratch.
Consuming REST Services
Liferay provides a full REST API framework for interacting with platform functionality. You can access and manipulate data, create custom integrations, and build complete applications.
Liferay’s REST APIs comply with the OpenAPI standard, enabling developers to use what they know. The APIs are documented through Liferay’s API Explorer, offering detailed information on endpoints and their usage.

Consuming GraphQL APIs
Liferay fully supports GraphQL APIs, and you can search these APIs directly through the API explorer, which provides an organized view of available queries, mutations, and schemas.

Retrieving Data: Search Index Versus Database
Liferay resolves API queries from either the search index or the database; knowing which source a call uses tells you when newly created data is available.
Collection and filter queries run against the search index, which Liferay’s search engine maintains separately from the database. This includes list endpoints and any query that takes a filter parameter or argument, in both REST and GraphQL. Liferay updates the search index after a write commits to the database, so a newly created entity can be absent from these results for a brief window while indexing completes. This is expected behavior. The search index is optimized for filtering, sorting, faceting, and paging across large data sets.
By contrast, single-entity lookups by ID or external reference code query the database directly, returning the entity as soon as its create transaction commits.
When you create an entity and then read or link it in the next step, fetch it by ID or external reference code instead of using a filtered query. For example, after creating a product, retrieve it with GET /o/headless-commerce-admin-catalog/v1.0/products/by-externalReferenceCode/{externalReferenceCode}. Because you assign the external reference code when you create the entity, this read is immediate and predictable.
Data Migration Center
Liferay’s Data Migration Center streamlines the transfer of data between Liferay instances. Whether you’re upgrading systems, consolidating environments, or migrating data to a new platform, this feature simplifies the process. By exporting and importing object definitions and entries, organizations can move content, configurations, and user data without manual intervention. This automation reduces errors, saves time, and ensures data integrity.
Batch Engine API - Importing and Exporting data
Liferay’s Headless Batch Engine provides REST APIs to import and export data. These APIs support CSV, JSON, XLSX, and can work with a large dataset. Additionally, some APIs can filter data during export. For advanced users, customization through code is available for importing and exporting processes.
With the Batch Engine, you can transfer large volumes of data between different systems or Liferay instances, integrate Liferay with other systems by importing data from external sources or exporting data for use in other applications, and export data in formats suitable for reporting and analysis.
In Liferay 2026.Q1+, LAR exports and imports also use the batch framework to handle many types of entities, at site and instance scopes. Consider promoting content with LAR files if they are better suited to your workflow.
Using External Reference Codes
With External Reference Codes (ERCs), you have easy data synchronization and mapping between different systems. By using a common reference point, data can be transferred and updated consistently across platforms. During data migration processes, you can use ERCs to track and match records before and after the migration, trace the history of data changes, and track previous data.
When interacting with external systems or databases through APIs, ERCs can serve as unique identifiers for records, facilitating data synchronization and mapping.
In short, Liferay offers a full set of tools for working with its data outside its user interface. Read on to learn more.