This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Galaxy API Documentation¶
In addition to being accessible through a web interface, Galaxy can also be accessed programmatically, through shell scripts and other programs. The web interface is appropriate for things like exploratory analysis, visualization, construction of workflows, and rerunning workflows on new datasets.
- The web interface is less suitable for things like
Connecting a Galaxy instance directly to your sequencer and running workflows whenever data is ready.
Running a workflow against multiple datasets (which can be done with the web interface, but is tedious).
When the analysis involves complex control, such as looping and branching.
The Galaxy API addresses these and other situations by exposing Galaxy internals through an additional interface, known as an Application Programming Interface, or API.
The up-to-date Galaxy API documentation can be accessed by appending
to the base URL of a Galaxy server, e.g. https://usegalaxy.org/api/docs
Various language specific bindings for interfacing with the Galaxy API have been developed by the Galaxy community including Python, PHP, Java, and TypeScript.
Overview of available API resources is available at https://galaxyproject.org/develop/api/ .