Skip to content
Shashank B R edited this page Sep 28, 2022 · 74 revisions

Ensembl REST APIs

Ensembl REST API Logo

Ensembl REST API provides language agnostic bindings to Ensembl data.

Ensembl REST 15.4 User Guide

The following guide refers to the 15.4 release of the Ensembl REST API. For support please contact helpdesk or our dev mailing list.


  1. Getting Started
  2. Writing Your First Client
  3. Example Clients (all query for a Gene and look for overlapping variation)
  1. URL Structure
  2. Parameters
  3. API Versioning
  4. Output formats
  5. HTTP Response Codes
  6. HTTP Headers
  7. Rate Limits
  8. Cross Origin Resource Sharing and JSON-P
  9. POST Requests (VEP & Archive)
  10. Version Migration
  1. REST Installation and Development


The Ensembl REST API & associated Ensembl Perl APIs are available under an Apache 2 license. Please consult the LICENSE file for more information. Your usage of the data returned by the service is subject to same conditions as laid out on the Ensembl website.


If you use the Ensembl REST API please cite Yates et. al. (doi:10.1093/bioinformatics/btu613).

To cite Ensembl data usage, please use Zerbino et. al. (

If you use the VEP in your work, please cite McLaren et. al. (doi:10.1186/s13059-016-0974-4).

Example Clients

All example clients attempt to find variants overlapping the human Gene BRAF. They also attempt to rate limit themselves to 15 requests per second but also look for the Retry-After header to ensure they are not rate limited due to shared IP addresses.