Ensembl REST API


The Ensembl REST API provides language agnostic programmatic access to genomic data on the Ensembl database. This course uses Jupyter Notebooks provided by Microsoft Azure to walk you through the APIs and practice writing scripts to access these data. 

The video above provides a brief overview of the REST API, endpoints and instructions on working with the Jupyter notebooks. The slides from this video can be downloaded below. You will need to refer to the Ensembl REST API documentation to complete the course.

This is an intermediate to advanced level course and requires some familiarity with Ensembl, REST APIs and the ability to program in Python, Perl or R. We won't teach you how to code in this course, just how to use your existing coding knowledge to access Ensembl data. If you would like an introduction to Ensembl then we recommend watching our Ensembl Browser Webinar Series.

Getting started with Jupyter Notebooks

To get the most out of this course you will need to clone the Jupyter notebooks to make them fully interactive. Once you have done this you will be able to edit and run the examples, and write your own scripts for the exercises.

To clone the notebooks you will need to sign in with a (free) Microsoft account. Instructions on how to clone the notebook can be found at the end of the video (20:38).

There are versions of the notebooks available in Python, Perl and R, so you will need to be able to program in one of these languages. If you would like to request a Jupyter notebook in another language, helpdesk [at] ensembl.org (please let us know).

Once you're ready, just click on the button below to get started.


We are currently trialling the use of Jupyter Notebooks in our online courses and would value your feedback. Let us know what you think of the course by using the support and feedback tab at the top of the page. 

Start course button



About this course

Emily Perry
Learning objectives: 
  • Describe the data types accessible through the Ensembl REST API
  • Describe the methods in the Ensembl REST API
  • Navigate the Ensembl REST API documentation to find available methods
  • Write scripts to access data via the Ensembl REST API