Version: 5.0.0

Web Services Overview

InterMine provides programmatic access to its features via web services. This allows users to automate:

  • Data retrieval (custom queries, templated queries, keyword searches)
  • List creation/analysis/management
  • User profile management
  • Data-model introspection

For a full listing of web service capabilities on various mines, please see the HTTP API documentation.

Getting Started#

Install Required Dependencies

If you are reading this page, we make the assumption you know how to write and run programs in your language of choice. You will probably want to download and install the appropriate client library (see API and Client Libraries), which typically involves the standard package manager for the given platform.

Look at some example code

We also assume you are already familiar with the InterMine web interface, as provided by sites such as FlyMine. Each result table in the web interface includes a mechanism for generating code using one of the client libraries which generates the same results as those seen in the table (click on the code button). The generated code is meant to help get you started with the use of the client libraries.

There is also a Tutorial for the Python API

Modify the code so it does what you want

Working from the generated stub, you can edit the code to perform your intended task. You will probably want to refer to the API documentation for your target language (see below).

API and Client Libraries#

InterMine exposes its functionality over an HTTP API (generally following RESTful principles, but there is a bit of RPC there). Client libraries are available in commonly used languages so you can get started quickly. All our code is hosted on Github, and contributions are welcome. All InterMine code is free and open-source, released under the LGPL (see Legal).

For information on the underlying API, and the supported libraries, please visit the following links:

HTTP API

Documentation on services available from mines: http://iodocs.apps.intermine.org

Java

Download | API | Tutorial | Source

Perl Client

Download | API | Tutorial | Source

Python Client

Download | API | Tutorial | Source

Ruby Client

Download | API | Tutorial | Source

JavaScript Client (for Bowser and node.js)

Download | API | Tutorial | Source

R Client

Download | Docs | Tutorial | Source

Authentication#

Authenticated web services are accessed via tokens: either 24-hour anonymous tokens or permanent user API key tokens. See Authentication for more details.