eulerpool
v1.0.0
Published
Official TypeScript/JavaScript SDK for the Eulerpool Financial Data API
Maintainers
Readme
Eulerpool SDK for TypeScript / JavaScript
Official TypeScript/JavaScript SDK for the Eulerpool Financial Data API.
Installation
npm install eulerpoolQuick Start
import Eulerpool from "eulerpool";
const client = new Eulerpool("YOUR_API_KEY");
// Get a company profile
const profile = await client.equity.profile("US0378331005");
console.log(profile);
// Get income statement
const income = await client.equity.incomeStatement("US0378331005");
// Get ETF holdings
const holdings = await client.etf.holdings("IE00B4L5Y983");
// Get forex rates
const rates = await client.forex.rates("EUR");
// Get macro calendar
const calendar = await client.macro.calendar();Authentication
Pass your API key when creating the client, or set EULERPOOL_API_KEY. By default it is sent as a ?token= query parameter. To use the Authorization: Bearer header instead:
const client = new Eulerpool("YOUR_API_KEY", { useAuthHeader: true });Get your free API key at eulerpool.com/developers/register.
Configuration
const client = new Eulerpool("YOUR_API_KEY", {
baseUrl: "https://api.eulerpool.com/api/1", // default
useAuthHeader: false, // default: use ?token= query param
maxRetries: 2, // default
timeout: 30000, // default: 30s
});Available Resources
53 resources / 400+ methods, generated from the public OpenAPI spec. Common accessors:
equity equityExtended etf macro forex bonds crypto cryptoExtended market alternative sentiment research calendar screener mutualFund commodity institutional certificates earningCalls index news trends iceSwap fairValue aaq analytics charting energy fundamentals government shipping singapore transcripts
Any path also works without a typed method:
await client.get("/equity/profile/AAPL", { language: "en" });Error Handling
import Eulerpool, { AuthenticationError, RateLimitError } from "eulerpool";
try {
const data = await client.equity.profile("US0378331005");
} catch (error) {
if (error instanceof AuthenticationError) {
console.error("Invalid API key");
} else if (error instanceof RateLimitError) {
console.error(`Rate limited. Retry after ${error.retryAfter}s`);
}
}Requirements
- Node.js >= 18 (uses native
fetch) - Zero runtime dependencies
Pass the key explicitly or set EULERPOOL_API_KEY. Any undocumented path still works via client.get("/path", params).
License
MIT
