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

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.
  • 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

Services 3.x

Read up on it here.If you want to know more about the new REST server, read here. Note that currently there is no upgrade path for Services 3, and it is not backwards compatible with older implementations of the API. Therefore some existing modules like JSON Server and AMFPHP will not work with it. Fear not, newer AMFPHP modules are in development, and REST Server and JSON Server are no longer needed because response formats have been rolled into Services Core.


  • 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)

Services 6.x-3.x:

Note the Drupal 6 version is currently not official supported because of several security issues (discussion of the services D6 situation). We are currently trying get all of these fixed. Any help with testing and coding is very welcome.

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

Currently spyc has an upstream bug please the version of the code on this issue until the upstream patch has been committed if you reference any error messages


Feel free to edit/fork/comment on this list of examples https://gist.github.com/affc9864487bb1b9c918

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

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

Supporting organizations: 
Maintaining module support.
Maintaining module support.

Project Information