Introduction

Eagle Web API V2 provides a comprehensive RESTful HTTP API for interacting with the Eagle application, enabling external tools and scripts to manage your asset library programmatically.

Welcome to the Eagle Web API V2 documentation. This API allows any HTTP client — scripts, apps, browser extensions, automation tools — to interact with the Eagle application over a local HTTP server.

circle-info

Looking for the V1 API? The legacy V1 API documentation is available at https://api.eagle.cool/arrow-up-right. V2 offers a more comprehensive feature set based on the Plugin API capabilities.

circle-exclamation

Web API vs Plugin API

Eagle provides two different APIs for developers:

  • Web API (this documentation) — A RESTful HTTP API for building external tools, services, scripts, or integrations that communicate with Eagle from outside the application. Use this if you are building browser extensions, automation workflows, third-party apps, or any tool that runs independently of Eagle.

  • Plugin APIarrow-up-right — A JavaScript API for building plugins that run inside Eagle. Plugins have direct access to Eagle's UI, can create custom panels, respond to user interactions, and deeply integrate with the application. Use this if you want to extend Eagle's built-in functionality.

Web API
Plugin API

Runs

Outside Eagle (any HTTP client)

Inside Eagle (as a plugin)

Protocol

HTTP REST

JavaScript API

Use case

External tools, scripts, automation

Eagle plugins, custom panels, UI extensions


What's New in V2

The V2 API (/api/v2/...) provides significantly more endpoints than V1 (/api/...), including:

  • Full-text search with advanced query syntax (AND, OR, NOT)

  • AI semantic search — search by text description or image similarity

  • Tag management — create, rename, merge tags and manage tag groups

  • Folder management — create, move, and organize folders

  • Automatic pagination — all list endpoints are paginated by default to ensure performance

  • API Playground — built-in interactive tool to test all endpoints directly in your browser


Prerequisites

Eagle is a local application — the API server starts automatically when the Eagle app is opened. You must have Eagle running before you can access any API endpoint.


Base URL

The Eagle API server runs on port 41595 by default. All V2 endpoints are prefixed with /api/v2/.


Authentication

Local Access (localhost)

If you are making requests from the same machine where Eagle is running, no authentication is required. Requests from localhost, 127.0.0.1, or 0.0.0.0 are automatically trusted — you can start calling the API right away.

Remote Access (LAN / Network)

If you want to call the Eagle API from another device on your local network (e.g., a phone, tablet, or another computer), you must include an API Token with every request.

How to Get Your API Token

  1. Open Eagle and go to Preferences (Settings)

  2. Click on Developer in the left sidebar

  3. Your API Token is displayed at the top of the page

  4. Click the copy button next to the token to copy it to your clipboard

You can also click Regenerate Token to generate a new token at any time. Note that regenerating a token will invalidate the previous one.

Using the Token

Append the token parameter to any request URL:

circle-exclamation

Response Format

All endpoints return responses in JSendarrow-up-right format:

Success:

Error:


Pagination

All list endpoints (item/get, item/query, folder/get, tag/get, etc.) return paginated results by default.

Parameter
Type
Default
Max
Description

offset

Integer

0

Number of items to skip

limit

Integer

50

1000

Number of items to return

Paginated response:

  • total — Total number of matching items (before pagination)

  • offset — The offset used

  • limit — The limit used

  • data — The paginated result array

Example: Iterating through all items


Quick Start


API Sections

Section
Description

Query, add, modify, and manage items

Create, list, and organize folders

List, rename, and merge tags

Manage tag groups

Get library metadata

Application information

AI semantic & image search


CORS

If you are calling the Eagle API from a webpage (e.g., via a userscript manager like Tampermonkey or Violentmonkey), standard fetch requests may be blocked by the browser's Cross-Origin Resource Sharing (CORS) policy. In this case, use GM_xmlhttpRequest instead:

circle-info

This only applies to scripts running inside web pages. If you are calling the API from Node.js, Electron, a browser extension's background script, or directly from DevTools, CORS does not apply and you can use fetch normally.


Rate Limits

There are no rate limits on API calls. Since the API server runs locally on your machine, all requests are processed directly without any throttling. However, keep in mind that the server's performance depends on your device's hardware — heavy operations on very large libraries may take longer to respond.

Last updated