Perl API Documentation

Powered by Perl

Ensembl uses MySQL relational databases to store its information. A comprehensive set of Application Program Interfaces (APIs) serve as a middle-layer between underlying database schemes and more specific application programmes. The APIs aim to encapsulate the database layout by providing efficient high-level access to data tables and isolate applications from data layout changes.

Ensembl's API is written in Perl:


Sequence, genes and other automated annotation

Core API

Comparative genomics

Gene trees, homologies, multiple and pairwise genomic alignments

Compara API


SNPs, somatic mutations and structural variants

Variation API


Regulatory features, motifs and oligoprobes

Funcgen API

Ensembl Registry

The Registry system allows to tell your programs where to find the EnsEMBL databases and how to connect to them. It has been implemented for the Ensembl Core and Compara APIs.

More about the Registry...

Ensembl Software Support

Ensembl is an open project and we would like to encourage correspondence and discussions on any subject on any aspect of Ensembl. Please see the Ensembl Contacts page for suitable options for getting in touch with us.

If you are interested in undertaking a short-term collaborative project, our "Geek for a Week" scheme allows developers and researchers to work alongside Ensembl team members.