**What is Headless a CMS? -**
A headless CMS is a back-end only content management system (usually built from the ground up as a content repository) that makes content accessible via a RESTful API for display on any device. A Headless CMS focuses entirely on the administrative interface, workflows, collaboration and the organization and delivery of content. It doesn’t concern itself with presentation layers, templates, site structure, or design.

Lars Nielsen wrote more about Sitecore and Headless back in January 2017 here: https://www.sitecore.com/company/blog/356/sitecore-as-a-true-headless-cms-4418

There are 3 headless offerings out of the box in Sitecore 9+:

**1) The REST API for the ItemService** -
This has been available for quite some time. However it isn't always seen as true Headless due to it not including presentation details or personalisation in the response. Other APIs such as the Item Web API were available in older versions of Sitecore also.

https://doc.sitecore.net/sitecore_experience_platform/developing/developing_with_sitecore/sitecoreservicesclient/the_restful_api_for_the_itemservice

**2) JSS** -
This uses the Layout service (It has it's own individual JSON structure and named configurations) to support Front-end Apps (e.g React, Angular, Vue) whilst maintaining full Sitecore Experience Editor and personalisation features (page-level content composition,  multi-variate testing etc). This is seen as a true Headless offering as it returns serialized presentation details as well as support for tracking and analytics. JSS requires a consumption based licence at time of writing.

https://jss.sitecore.net/

**3) SXA** -
SXA also uses the Layout Service (again with it's own individual JSON structure and named configurations). This powers the SXA Components. SXA is available with a on-premise licence (at cost) as well as included in an consumption based licence (at time of writing).

https://doc.sitecore.net/sitecore_experience_accelerator/getting_started_with_sxa


At this point in time if you want true Headless support you must therefore have the JSS or SXA modules included in your Licence in order to have access to the Layout Service.

**Other Useful links:**

https://www.sitecore.com/en-gb/products/sitecore-experience-platform/wcm/headless-cms

https://jss.sitecore.net/docs/fundamentals/services/layout-service

https://doc.sitecore.net/sitecore_experience_accelerator/data_modeling/json/use_sxa_layout_service_to_model_your_pages_in_json