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. It provide Drupal plugins that allow others to create their own authentication mechanisms, request formats, and response formats.

Currently all development is happening on github for the useful help of PR's. https://github.com/kylebrowning/services

Services 4.x (Drupal 8)

Services 4.x is currently in development. Since Drupal 8 contains REST functionality in CORE, Services in Drupal 8 will be slightly different. Were aiming to accomplish the following for D8.

  • 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-REST way.
  • Provide endpoint capabilities to put your API behind a centralized URL
  • Accept header-based negotiation
  • Provide abstraction from some of cores annoyances. Like hal_json POST only instead of just JSON acceptance.
  • Provide multiple response formats
  • Version your API's


  • 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: 
Maintaining module support.
Maintaining module support.

Project Information