Website: https://www.movebank.org/cms/movebank-main
This article explains how to integrate Movebank with EarthRanger. It guides Movebank users on sharing their data with EarthRanger, and shows EarthRanger users how to receive movement data from a Movebank study to automatically create Sources, Subjects, and observations in their site.
1. Prerequisites
Movebank
- Movebank Study ID.
- If the study is not public, the study must include the Movebank user
EarthRanger_Integrationsas a 'Collaborator'.
EarthRanger
To send event data to EarthRanger, you will need:
- A special EarthRanger user (e.g., “Gundi Service Account”) for this integration. Please refer to EarthRanger's documentation or contact Support.
- A long-lived token for authentication assigned to the user created in the previous step. Please refer to EarthRanger's documentation or contact Support.
2. Configuration Guide
Integration Requires Assistance
This integration requires assistance from our support team for setup and configuration. Please contact our support team at support@earthranger.com and we’ll guide you through the process to ensure everything is set up correctly.
We are actively working to make this integration self-service in the future. Stay tuned for updates!
I. Gundi Connection Settings
Audience: Support Team
Important:
- Create one inbound configuration per Study ID.
- If multiple sites need an integration with the same Study ID, use the same inbound configuration and update the list of destinations.
1. Go to Gundi v1.
2. Go to the Inbound Integrations and select Add Integration.
3. Follow the steps below to configure the integration.
Name: Enter a suitable name (e.g., "Sitename - Movebank - StudyID")
Owner: Select the integration's owner
Type: Movebank
Provider Key: Leave empty. Gundi will automatically give it a name.
Default Device Group: Leave empty. Gundi will automatically create a default group.
Endpoint: https://www.movebank.org/movebank/service/direct-read
Token: Leave empty
Login/Password: EarthRanger_Integrations and its password. See 1Password.
State:
{
"maximum_lookback_hours": 24,
"studies": [
{
"id": "StudyID",
"name": ""
}
]
}Example:
{
"maximum_lookback_hours": 24,
"studies": [
{
"id": "1345147839",
"name": ""
}
]
}4. Click Save
5. Configure the Default Device Group to select the destination site.
3. Data Latency
The Movebank integration runs on a 5-minute schedule, but several factors can introduce additional latency:
Quiet periods (up to 60 minutes): When the Movebank API returns no new data for an individual, the integration enters a quiet period of 60 minutes before checking that individual again. This avoids repeatedly querying the API for animals that haven't transmitted recently. If a new GPS point is transmitted during this window, it will not appear in EarthRanger until the quiet period expires — introducing up to 60 minutes of additional latency for animals that were recently inactive.
Rate limiting: The Movebank API enforces rate limits per study and per credential. When multiple integrations share the same Movebank account credentials, they compete for the same quota. If the rate limit is hit, the integration backs off and retries automatically, but this adds delay to the current run. In severe cases, rate limit exhaustion can cause the entire batch to abort (see below), requiring a full retry on the next scheduled run.
Batch failures: If an unrecoverable error occurs while processing one integration, it can abort the entire batch — including other integrations running in parallel.
Affected integrations will appear in GCP logs with an extract aborted message and will resume on the next scheduled run (up to 5 minutes later).
Worst case: A combination of batch failures, rate limiting, and quiet periods can compound. If multiple runs fail before one succeeds, and that successful run then sets quiet periods, total latency can significantly exceed 60 minutes.
If you notice a data gap longer than 60 minutes, contact our Team for further assistance.
4. Troubleshooting
Can't see a tag in EarthRanger?
- Confirm that the individual is available in the Movebank study.
- Confirm that the study has been shared with EarthRanger (user
EarthRanger_Integrations) - Confirm that the individual has data in Movebank.
- Confirm that tag “Time of Last Location” in Movebank is within the time window defined in Gundi (
maximum_lookback_hours).
Everything is correct in Movebank, what's next?
Recommended GCP Log Queries
Integration health — is it running and completing?
(jsonPayload.message=~"Run summary" OR jsonPayload.message=~"extract aborted" OR jsonPayload.message=~"Movebank polling function")
"YOUR_INTEGRATION_ID" This shows run starts, completions, and cascade abort events. In a healthy integration you should see a run summary every ~60 minutes (see Data Latency above).
Per-study troubleshooting — what happened for a specific study?
(jsonPayload.message=~"Run summary" OR jsonPayload.message=~"extract aborted" OR jsonPayload.message=~"quiet period" OR jsonPayload.message=~"Skipping individual")
"YOUR_INTEGRATION_ID" OR "YOUR_STUDY_ID" Replace YOUR_STUDY_ID with the numeric Movebank study ID. This shows per-individual skips and quiet period events alongside the integration lifecycle.
Read more: Confluence (Audience: Support)
Animal Tracking, Movement Data, Gundi v1, Pull Integration, Data Provider
March 30, 2026
