EnsemblEnsembl Home

API & Software

All of the software created by the Ensembl project is open source and freely available to download from our GitHub repository.

Perl API

The Perl API provides an abstraction layer for accessing the genomic databases. Our documentation includes tutorials for typical tasks, and you can also browse the module-by-module POD output in the Doxygen web format. If you are unable to install the API, you might prefer to use our virtual machine which comes with the API and VEP (see below) pre-installed. The Ensembl API is compatible with Perl version 5.10.


The Ensembl REST server allows you access to Ensembl data using any programming language. We provide a second REST server - grch37.rest.ensembl.org - for access to data on the human GRCh37 assembly.


In addition to the API, we provide a number of Perl scripts that use the API to run common data analyses, such as the VEP (Variant Effect Predictor). All of these can be run on the command line, and some can also be run via a web front end, so you don't even need to install any software! Learn more...

eHive production system

Many of our pipelines and back-end data processing is managed using eHive, a job flow system written in Perl.

Web code

You can also run a local copy of this website by installing our codebase and associated Perl dependencies. Please note that this is a non-trivial task, and we only support installation on Linux. For help with other operating systems as well as general support with custom development, we recommend joining our developers' mailing list. The web code runs on Perl version 5.14.