Metadata-Version: 2.5
Name: eulerpool
Version: 1.0.1
Summary: Financial Data API — Python SDK for stocks, ETFs, forex, crypto, bonds, fundamentals, and macro. Eulerpool, The Financial Data Company. 100,000+ securities, 375+ endpoints, 100,000 free calls/month.
Project-URL: Homepage, https://eulerpool.com/financial-data-api
Project-URL: Documentation, https://eulerpool.com/financial-data-api/sdks/python
Project-URL: API Reference, https://eulerpool.com/developers
Project-URL: Pricing, https://eulerpool.com/financial-data-api/pricing
Project-URL: Changelog, https://eulerpool.com/financial-data-api/changelog
Project-URL: Repository, https://github.com/eulerpool/eulerpool-python
Project-URL: Issues, https://github.com/eulerpool/eulerpool-python/issues
Project-URL: Get API Key, https://eulerpool.com/developers/register
Project-URL: JavaScript SDK, https://www.npmjs.com/package/eulerpool
Author-email: Eulerpool Research Systems <api@eulerpool.com>
License-Expression: MIT
License-File: LICENSE
Keywords: 13f,alpha-vantage,bloomberg-alternative,bonds,crypto,earnings,etf,eulerpool,financial-data-api,forex,fred,fundamentals-api,insider-trading,macro,market-data-api,pandas,polygon,sdk,stock-api,stock-market-api,stock-price-api,stocks,yahoo-finance-alternative
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Typing :: Typed
Requires-Python: >=3.9
Requires-Dist: httpx>=0.24.0
Description-Content-Type: text/markdown

# Eulerpool — Financial Data API for Python

Eulerpool is **The Financial Data Company**. This is the official Python SDK for the [Eulerpool Financial Data API](https://eulerpool.com/financial-data-api): stocks, ETFs, forex, crypto, bonds, fundamentals, filings, and macro — one client, one key.

[PyPI](https://pypi.org/project/eulerpool/) · [Docs](https://eulerpool.com/financial-data-api/sdks/python) · [API reference](https://eulerpool.com/developers) · [Get a free API key](https://eulerpool.com/developers/register) · [JavaScript SDK](https://www.npmjs.com/package/eulerpool)

```bash
pip install eulerpool
```

100,000+ securities · 90+ exchanges · 375+ endpoints · 100,000 free API calls/month · no credit card.

## Why teams use this financial data API

Most “stock APIs” stop at a last price. Eulerpool is the production financial data API behind the Eulerpool terminal: statements, estimates, ownership, transcripts, options, and macro on the **same** key.

| | Eulerpool | Typical free stock API | Bloomberg Terminal |
|---|---|---|---|
| Free tier | **100,000 calls/month** | tens–hundreds/day | none |
| Coverage | **100,000+** names, **90+** exchanges | US-heavy | deep, licensed |
| Fundamentals | Full statements + ratios | thin or paid extra | yes |
| Python | `pip install eulerpool` | wrappers / scrape | none |
| Price to start | **$0** | $0 with a ceiling | ~$24,000/yr/seat |

Get a key in 60 seconds: [eulerpool.com/developers/register](https://eulerpool.com/developers/register).

## Install

```bash
pip install eulerpool
```

Requires Python 3.9+ and [httpx](https://www.python-httpx.org/). Typed (`py.typed`). Sync and async clients.

```python
import eulerpool

client = eulerpool.Eulerpool("YOUR_API_KEY")  # or EULERPOOL_API_KEY
profile = client.equity.profile("AAPL")
print(profile["name"])
client.close()
```

## Quick start — Python stock API

Tickers and ISINs both work.

```python
import eulerpool

with eulerpool.Eulerpool("YOUR_API_KEY") as client:
    # Company profile (stock API)
    profile = client.equity.profile("US0378331005")

    # Income statement, cash flow, balance sheet
    income = client.equity.income_statement("US0378331005")
    cash = client.equity.cash_flow_statement("US0378331005")
    balance = client.equity.balance_sheet("US0378331005")

    # ETF holdings
    holdings = client.etf.holdings("IE00B4L5Y983")

    # FX, macro, calendar
    rates = client.forex.rates("EUR")
    calendar = client.macro.calendar()
```

### Async

```python
import asyncio
import eulerpool

async def main():
    async with eulerpool.AsyncEulerpool("YOUR_API_KEY") as client:
        profile = await client.equity.profile("AAPL")
        print(profile)

asyncio.run(main())
```

### Any path (escape hatch)

```python
client.get("/equity/profile/AAPL", language="en")
```

## What data you get

One financial data API. Official accessors (50+ resources, 400+ methods, generated from the public OpenAPI spec):

| Area | Examples |
|---|---|
| **Equities** | profile, quotes, candles, statements, ratios, estimates, dividends, splits, insider trades, SWOT, peers, segments, employees |
| **ETFs & funds** | holdings, sectors, countries, flows, mutual funds |
| **Market data** | quotes, movers, options, dark pool, holidays, status |
| **Fixed income** | bonds, yield curves, default probabilities |
| **FX & crypto** | rates, crypto quotes, on-chain / DeFi (extended) |
| **Macro** | FRED, ECB, IMF, World Bank, Eurostat, calendars, country risk |
| **Alt / sentiment** | 13F, congress trades, superinvestors, news & social sentiment |
| **Research** | transcripts, earning calls, news, press, upgrades |

Resources on the client include `equity`, `equity_extended`, `etf`, `macro`, `forex`, `bonds`, `crypto`, `crypto_extended`, `market`, `alternative`, `sentiment`, `research`, `calendar`, `screener`, `mutual_fund`, `commodity`, `institutional`, `certificates`, `earning_calls`, `index`, `news`, `trends`, `ice_swap`, `fair_value`, `aaq`, `analytics`, `charting`, `energy`, `fundamentals`, `government`, `shipping`, `singapore`, `transcripts`, and more.

## Authentication

Pass the key to the constructor or set `EULERPOOL_API_KEY`. Every request sends `Authorization: Bearer`. By default the key is also sent as `?token=` (some vendor routes redirect and drop the query string; the header survives). Header-only:

```python
client = eulerpool.Eulerpool("YOUR_API_KEY", use_auth_header=True)
```

```python
client = eulerpool.Eulerpool(
    "YOUR_API_KEY",
    base_url="https://api.eulerpool.com/api/1",
    use_auth_header=False,
    max_retries=2,
    timeout=30.0,
)
```

## Errors

```python
from eulerpool import Eulerpool, AuthenticationError, RateLimitError

client = Eulerpool("YOUR_API_KEY")
try:
    client.equity.profile("US0378331005")
except AuthenticationError:
    print("Invalid API key")
except RateLimitError as e:
    print(f"Rate limited. Retry after {e.retry_after}s")
```

429 and 5xx are retried with backoff.

## Financial data API vs Bloomberg, Alpha Vantage, Polygon, Yahoo Finance

Eulerpool is built as a **developer financial data API**, not a desktop terminal.

- **vs Bloomberg** — same institutional datasets you actually query (fundamentals, estimates, ownership, macro), as JSON, from `$0`. Bloomberg is a $24k/year seat plus a sales cycle. Comparison: [Eulerpool vs Bloomberg](https://eulerpool.com/financial-data-api/vs-bloomberg).
- **vs Alpha Vantage** — Alpha Vantage’s free cap is tens of calls/day. Eulerpool’s free plan is **100,000/month** with the same schema as paid. [vs Alpha Vantage](https://eulerpool.com/financial-data-api/vs-alpha-vantage).
- **vs Polygon.io** — Polygon is excellent US ticks. Eulerpool is global fundamentals + statements + ETFs + macro on one key. [vs Polygon](https://eulerpool.com/financial-data-api/vs-polygon).
- **vs Yahoo Finance unofficial libs** — unofficial scrapers break. This is a licensed REST API with an SLA.

More: [best stock market APIs](https://eulerpool.com/financial-data-api/best-stock-market-apis), [pricing](https://eulerpool.com/financial-data-api/pricing).

## For AI agents and LLMs

Responses are typed, deterministic JSON. Pair the SDK with the [Eulerpool MCP server](https://eulerpool.com/financial-data-api/mcp) so Claude, Cursor, ChatGPT, and custom agents call the same data instead of inventing a P/E.

```python
# Agents: one call, one schema, cite the source
metrics = client.equity.metrics("AAPL")
```

## FAQ

**What is a financial data API?**  
A financial data API returns market and company data (prices, statements, FX, macro) as JSON over HTTP so you do not scrape HTML or buy a terminal seat. Eulerpool covers 100,000+ securities, 90+ exchanges, and 100+ years of history where the source publishes it.

**Is there a free Python stock API?**  
Yes. `pip install eulerpool`, [register](https://eulerpool.com/developers/register), 100,000 requests/month, no credit card. Same endpoints as paid plans; paid plans raise volume and real-time.

**Does this replace yfinance / Yahoo Finance?**  
For production, yes: licensed data, identifiers (ticker and ISIN), retries, and a ToS you can show legal. The unofficial Yahoo libraries are fine for a notebook; they are not a market-data contract.

**Python, pandas, Jupyter?**  
Returns are dicts and lists — `pd.DataFrame(...)` works. Sync client for notebooks; `AsyncEulerpool` for asyncio.

**Other languages?**  
[npm install eulerpool](https://www.npmjs.com/package/eulerpool) (JavaScript/TypeScript), [Go](https://github.com/eulerpool/eulerpool-go). REST from anything else.

## Links

- Financial Data API: https://eulerpool.com/financial-data-api
- Python SDK docs: https://eulerpool.com/financial-data-api/sdks/python
- API reference: https://eulerpool.com/developers
- Pricing: https://eulerpool.com/financial-data-api/pricing
- Changelog: https://eulerpool.com/financial-data-api/changelog
- npm package: https://www.npmjs.com/package/eulerpool

## License

MIT
