Table Of Contents

Previous topic

Customising the default queries in your io-docs application

Next topic

Embedding InterMine components

This Page

Web Services

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 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).

How Do I?

For the kinds of things you will probably be wanting to do, see howtows

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 | Docs | Source
Perl Client
Download | Docs | Source
Python Client
Download | Docs | Source
Ruby Client
Download | Docs | Source
JavaScript Client (for Browser and node.js)
Download | Docs | Source

Authentication

Authenticated web services are accessed via tokens: either 24-hour anonymous tokens or permanent user API key tokens. See ws-authentication