Linking Financial Modeling Prep as a source
This source is currently in alpha. The interface and available tables may change.
The Financial Modeling Prep connector syncs market and company financial data – company profiles, financial statements, and historical prices – into PostHog, so you can analyze financial data alongside your product data.
Prerequisites
You need a Financial Modeling Prep account with an API key. Free-tier keys are heavily rate-limited, so keep your list of symbols focused.
Adding a data source
- In PostHog, go to the Sources tab of the data pipeline section.
- Click + New source and click Link next to this source.
- Enter your credentials (see Configuration below) and click Next.
- Select the tables you want to sync, choose a sync method and frequency, then click Import.
Once the syncs are complete, you can start querying this data in PostHog.
When linking Financial Modeling Prep, you'll need:
- API key – find it in your Financial Modeling Prep dashboard.
- Symbols – a comma-separated list of tickers to sync, for example
AAPL, MSFT, GOOGL. The symbol-keyed tables are fetched once per ticker you list, so keep the list focused.
Sync modes
Each table can be synced in one of several modes, depending on what the source supports:
- Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
- Incremental – only new or updated rows are synced on each run, using a cursor field (such as an
updated_attimestamp). Cheaper than a full refresh, but deletes aren't captured. - Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
- Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.
See sync methods for a full explanation of how each mode works and how to choose between them.
Configuration
| Option | Type | Required |
|---|---|---|
API key | password | Yes |
Symbols | text | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
stock_list | Every tradable symbol Financial Modeling Prep tracks, with its exchange and name. | Full refresh | — | — |
company_profiles | Company profile: sector, industry, market cap, description, and contact details for each symbol. | Full refresh | — | — |
income_statements | Annual income statements (revenue, expenses, net income) per symbol and fiscal period. | Full refresh | — | — |
balance_sheet_statements | Annual balance sheets (assets, liabilities, equity) per symbol and fiscal period. | Full refresh | — | — |
cash_flow_statements | Annual cash flow statements (operating, investing, financing) per symbol and fiscal period. | Full refresh | — | — |
historical_prices | End-of-day OHLCV price history per symbol, filtered server-side by trading date. | Incremental, Full refresh | date | — |
earnings_calendar | Scheduled and historical earnings announcements across the market, filtered by date. | Incremental, Full refresh | date | — |
dividends_calendar | Dividend events across the market (ex-date, payment, amount), filtered by date. | Incremental, Full refresh | date | — |
Troubleshooting
- If your API key is invalid or has been revoked, generate a new key in your Financial Modeling Prep dashboard, then reconnect.
- If your plan does not grant access to a table, upgrade your plan or deselect the affected tables, then reconnect.
If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.