# Justetf — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and compare thousands of ETFs listed on justETF, with access to detailed profiles, key metrics (TER, fund size, asset class, currency), and full monthly performance history. Filter results by asset class, fund currency, expense ratio, and more.

**Category:** Finance & Markets | **Website:** [justetf.com/](https://justetf.com/) | **Docs:** [parse.bot/marketplace/9b0e18a9-ca27-4387-b170-39b5e2066411/justetf-com-api](https://parse.bot/marketplace/9b0e18a9-ca27-4387-b170-39b5e2066411/justetf-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-justetf-com-api-9b0e18a9/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_etf_price

Retrieve the latest quote/price for a specific ETF by ISIN. Returns the current price from XETRA in the requested currency, along with day-over-day change (absolute and percentage), previous close, and 52-week low/high. Data is sourced from the justETF real-time quote API.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `currency` | string | No | Currency code for the price quote (e.g. 'EUR', 'USD', 'GBP', 'CHF'). Defaults to EUR. |
| `isin` | string | Yes | 12-character ISIN identifier of the ETF (e.g. 'IE00B5BMR087') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-justetf-com-api-9b0e18a9/get_etf_price \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"currency":"<string>","isin":"<string>"}'
```

### get_etf_price_history

Retrieve a daily price time series for a specific ETF over a date range. Returns one entry per calendar day (including weekends which repeat the prior close). Prices are in EUR. Defaults to the last 30 days when no date range is specified.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `from_date` | string | No | Start date of the price range in YYYY-MM-DD format. Defaults to 30 days before today. |
| `isin` | string | Yes | 12-character ISIN identifier of the ETF (e.g. 'IE00B5BMR087') |
| `to_date` | string | No | End date of the price range in YYYY-MM-DD format. Defaults to today. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-justetf-com-api-9b0e18a9/get_etf_price_history \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from_date":"<string>","isin":"<string>","to_date":"<string>"}'
```

### get_etf_profile

Retrieve profile information for a specific ETF by its ISIN. Returns the ETF's key metrics including TER, fund size, replication method, distribution policy, inception date, and YTD return. Uses the search index internally; returns stale_input if the ISIN is not found. When include_country_allocation is enabled, makes an additional request to the profile page and includes the ETF's country breakdown.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `include_country_allocation` | boolean | No | When true, includes a country_allocation array in the response with the ETF's country breakdown (country name and allocation percentage). |
| `isin` | string | Yes | 12-character ISIN identifier of the ETF (e.g. 'IE00B5BMR087') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-justetf-com-api-9b0e18a9/get_etf_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"include_country_allocation":"<boolean>","isin":"<string>"}'
```

### get_monthly_performance

Retrieve monthly performance heatmap data for a specific ETF. Returns an array of monthly return percentages organized by year and month, covering the ETF's full history since inception. Each entry contains the year, month name (Jan-Dec), and return percentage. Requires a Wicket AJAX session on the profile page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `isin` | string | Yes | 12-character ISIN identifier of the ETF (e.g. 'IE00B5BMR087') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-justetf-com-api-9b0e18a9/get_monthly_performance \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"isin":"<string>"}'
```

### search_etfs

Full-text search over justETF's ETF database. Matches ISIN, WKN, ticker, or name against the query. Results are sorted by fund size descending. Supports offset-based pagination via start/length. Filters narrow results by asset class or fund currency. Returns total count and a page of ETF summaries.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `asset_class` | string | No | Filter by asset class. Confirmed values: 'class-equity', 'class-bonds'. Additional values may be accepted by the site. |
| `fund_currency` | string | No | Filter by fund currency ISO code (e.g. 'EUR', 'USD', 'GBP', 'CHF') |
| `length` | integer | No | Number of results per page (max 100) |
| `query` | string | No | Search query term (ISIN, WKN, ticker, or name) |
| `start` | integer | No | Pagination offset (0-based index of first result) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-justetf-com-api-9b0e18a9/search_etfs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"asset_class":"<string>","fund_currency":"<string>","length":"<integer>","query":"<string>","start":"<integer>"}'
```

### specialized_equity_filter

Screen for equity ETFs denominated in EUR with TER below 0.3%. Returns matching results sorted by fund size descending. Useful for identifying low-cost European equity ETFs. The asset class (equity) and currency (EUR) filters are fixed; the caller controls only the result count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-justetf-com-api-9b0e18a9/specialized_equity_filter \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>"}'
```
