A standardized solution for building API's so that external clients can communicate with Drupal. Out of the box it aims to support anything Drupal Core supports and provides a code level API for other modules to expose their features and functionality via HTTP. It provide Drupal plugins that allow others to create their own authentication mechanisms, request formats, and response formats.

For newer versions of Drupal, we recommend to use the Drupal core JSON:API or RESTful Web services modules.

Services 5.x (Drupal 10+) Non-RESTful Web services

The original objectives of this module for D8+ were to provide further services, but note that that development has mostly stopped due to lack of interest in using them.

  • Services API allows others to expose custom API's or modify/hook into entities, and add actions/targetable actions or indexes in a standard Non-RESTful Web services way.
  • Provide endpoint capabilities to put your API behind a centralized URL
  • Accept header-based negotiation
  • Provide and extension to some of Core's capabilities.
  • Provide multiple response formats
  • Version your API's

Services 3.x(Drupal 7):

  • Service API allow modules to create other services, including pluggable access control
  • Server API allow modules to create other servers, such as SOAP
  • Aliasing methods
  • Integration with core Drupal functionality like files, nodes, taxonomy, users, files and more.
  • Response format API allows you to define response Formats for CONTENT-TYPE ie. application/json or application/xml. (also calls such as ENDPOINT/node/1.json work)

Visit the Services Handbook for help and information. Subscribe to the Services Group for news, updates and discussions.

For modules with services support goto https://drupal.org/node/750036. Note: anyone can add to this list.

Supporting organizations: 
Drupal 9 support

Project information

Releases