This version is in alpha - You will not be able to subscribe to this API.

Excise Movement Control System API

Version and status
Available in Sandbox No
Available in Production No


Use the EMCS API to:

  • submit excise movement notifications to the Excise Movement and Control System (EMCS)
  • retrieve messages from EMCS
  • retrieve information about excise traders

For a detailed overview of v1.0 of the API, see the EMCS API service guide.


We use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:

  • 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action
  • 400 to 499 if it failed because of a client error by your application
  • 500 to 599 if it failed because of an error on our server

Errors specific to each API are shown in the Endpoints section, under Response. See our reference guide for more on errors.


You can use the HMRC Developer Sandbox to test the API. The Sandbox is an enhanced testing service that functions as a simulator of HMRC’s production environment.


When an API changes in a way that is backwards-incompatible, we increase the version number of the API. See our reference guide for more on versioning.


View API endpoints
Why do these endpoints look different?

The endpoints for this API now use the Open API Specification (OAS).

The API has not changed. You do not need to make any updates to your application if you already use this API.