canonical: https://jentic.com/apis/movebank.org/movebank

# Movebank API

Movebank is an online database of animal tracking data hosted by the Max Planck Institute for Animal Behavior. Researchers worldwide upload GPS, accelerometer, and other telemetry from tags attached to animals, and Movebank exposes it through a REST API used for ecological research, conservation, and education. The API exposes three endpoints: a generic /direct-read entry-point for studies, individuals, tags, deployments, and tracking events, an attribute-listing variant, and /request-token for issuing time-limited API tokens. Authentication uses HTTP basic auth or a query-string api-token issued by Movebank.

## For AI agents

Query Movebank's animal-tracking database for studies, individuals, tags, deployments, and event tracks via the /direct-read interface using a basic-auth login or an api-token.

## Scope

Does not handle data upload, study creation, or environmental sensor data outside the tracking model - use for Movebank read access to studies, individuals, tags, deployments, and tracking events only.

## Capabilities

- Issue a Movebank api-token via GET /request-token for time-bounded read access
- Query studies, individuals, tags, deployments, and tracking events through GET /direct-read
- List the attributes available on an entity-type via the /direct-read?attributes variant
- Filter tracking events by study, individual, time range, or entity-specific parameters
- Pull animal telemetry into ecological analysis, conservation reporting, or education tooling

## Use cases

### Ecological Research Data Pull

Researchers and analysts pull tracking events from Movebank into their analysis environment. The /direct-read endpoint returns studies, individuals, tags, deployments, or events depending on the entity_type query parameter, with filters for study ID, individual, and time range. Combined with /request-token, this gives a script a clean credential lifecycle for one-off or scheduled data pulls.

Example prompt: Request an api-token from /request-token, then call /direct-read with entity_type=event and a study_id filter to retrieve the GPS fix events for the study.

### Conservation Dashboard Backend

Conservation programmes power dashboards that show the latest movements of tagged animals. The dashboard backend pulls from /direct-read on a schedule, transforms events into a time-indexed feed, and renders maps. The api-token flow keeps long-lived credentials out of the dashboard process.

Example prompt: On a schedule, request a fresh api-token, then pull events for a fixed list of study_ids and write them into the dashboard time-series store.

### Wildlife Research Agent via Jentic

An AI research agent helping a biologist explore tracking datasets searches Jentic for the Movebank /direct-read operation, loads its schema, and executes queries by entity type. Jentic stores the basic-auth credentials and supplies them at call time, so the agent never holds the researcher's Movebank password.

Example prompt: Search Jentic for 'read Movebank tracking data', load /direct-read, and execute it with entity_type=individual and a study_id filter.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/direct-read` | Read studies, individuals, tags, deployments, or events |
| GET | `/direct-read?attributes` | List attributes available on an entity-type |
| GET | `/request-token` | Issue a Movebank api-token |

## Key resources

- **direct-read** — Generic read endpoint for studies, individuals, tags, deployments, and tracking events.
- **attributes** — List the attributes available on a given entity-type via /direct-read?attributes.
- **request-token** — Issue a time-bounded api-token to use in subsequent /direct-read calls.

## Why Jentic

- **Setup:** Wiring Movebank by hand means choosing between basic auth and its api-token, passing the token as a query parameter, and shaping direct-read calls with the right entity_type. Through Jentic you install once, import the Movebank API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Movebank selects data by entity_type in the query string rather than a resource path, so limit the agent to the operations it needs, such as direct-read of tracking events. You choose the operations it may call, so it stays within Movebank's read surface.
- **Credential handling:** Your Movebank basic-auth credentials and api-token are stored once, encrypted, by your own Jentic One instance and attached as the basic-auth header or api-token parameter at execution time. Neither value enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'read Movebank tracking events', and Jentic returns the /direct-read operation with the entity_type parameter exposed in its input schema, so the agent calls the right endpoint without browsing the docs.

## Related APIs

- **GBIF API** — GBIF aggregates species occurrence records that pair well with Movebank's tracked-individual telemetry.
- **PDOK API** — PDOK provides Dutch geospatial layers useful for overlaying animal tracks on landscape data.
- **NOAA API** — NOAA datasets provide weather and oceanographic context that complements animal movement tracks.

## FAQ

### What authentication does the Movebank API use?

Movebank accepts HTTP basic authentication with a Movebank account, or an api-token passed as the api-token query parameter. Tokens are issued by GET /request-token. Through Jentic, the basic-auth credentials sit in the encrypted vault and are attached at call time.

### Can I download tracking events for a specific study?

Yes. Call GET /direct-read with entity_type=event and a study_id filter. You can also list /direct-read?attributes for the event entity to see what fields are available before pulling full events.

### What are the rate limits for the Movebank API?

Movebank does not publish hard rate limits in the spec. Treat the API as fair-use and request an api-token via /request-token for scripted pulls so the platform can attribute and rate-limit appropriately.

### How do I read tracking events through Jentic?

Run pip install jentic, search 'read Movebank tracking data', load /direct-read, and execute it with the entity_type and study_id parameters. Jentic supplies your Movebank credentials from the vault.

### Is the Movebank API free?

Yes for research use under Movebank's Terms of Use. Access to specific datasets depends on the study owner's permission settings - some studies are public, others require explicit access from the principal investigator.

### Why use api-token instead of basic auth?

The api-token is issued by /request-token and is time-bounded, which is safer for scripts and scheduled jobs than embedding a long-lived password. Basic auth is still supported for interactive testing.

### Can I limit what my agent is allowed to do with the Movebank API?

Yes. Because you run Jentic One yourself, your own rules decide which Movebank operations and credentials the agent may use, so you can allow only /direct-read of tracking events and deny the rest of the read surface. Movebank selects data by entity_type in the query string rather than a resource path, so you scope the agent by the operations it can call, such as reading events for a study while withholding /request-token or the attributes variant. Your Movebank basic-auth login and api-token are attached at call time and never enter the agent's prompt or context.
