Everything your data team
needs to move faster.
Ptolemy is a structured data layer purpose-built for investment teams. Instruments, time series, and markets — with a clean API, typed attributes, and team access controls, all in one place.
Build workflows in minutes, not months.
The Ptolemy API is designed to be easy to learn and hard to misuse. Consistent resource conventions, predictable error shapes, and one filter grammar that works the same way across every collection endpoint.
- Nested and / or filter trees over core columns, custom fields, and tags
- Hierarchical tag filters: `tagged` and `tagged_with_descendants`
- Relationship sideloading via `include` (`type`, `tags`, …)
- Cursor-based pagination (`limit` + `after`) on every list endpoint
# Large-cap tech equities in the ASX 200 subtree
curl -X POST \
https://api.ptolemy.cloud/workspaces/{workspace}/instruments/filter \
-H "Authorization: Bearer $TOKEN" \
-d '{
"type_id": "equity",
"filter": {
"and": [
{ "field": "field.sector", "op": "eq", "value": "Technology" },
{ "field": "field.market-cap", "op": "gte", "value": 10000000000 },
{ "field": "tags", "op": "tagged_with_descendants",
"value": "#asx-200" }
]
},
"sort": [ { "field": "field.market-cap", "direction": "desc" } ],
"limit": 50
}'Flexible enough for any instrument type.
Every record has a unique identifier of your choosing and a stable UUID. Everything else — including external IDs like ISIN, FIGI, or CUSIP — is a typed field you define on the type, so each instrument carries exactly the fields it needs without polluting a shared table with nulls. Values are validated against the type’s declared schema on write.
- A unique identifier of your choosing, plus a stable UUID
- External IDs (ISIN, FIGI, CUSIP) modelled as typed fields
- Typed fields per type: text, number, date, boolean
- Materialised snapshot columns for fast reads without EAV joins
# Write typed field values inline on an instrument
PATCH \
https://api.ptolemy.cloud/workspaces/{workspace}/instruments/aapl
{
"fields": {
"sector": "Technology",
"market-cap": 2800000000000,
"inception": "1980-12-12"
}
}Every listing, calendar, and suspension.
Markets are first-class in Ptolemy. Model the exchanges your instruments trade on, the listings that connect them, trading calendars, listing statuses, and suspension history — all sharing the same typed-attribute, tagging, and filter model as instruments.
- Markets, listings, calendars, statuses, and suspensions
- One instrument listed across many markets
- Shorthand scoping: `market_id`, `instrument_id`, `status_id`
- Sideload the instrument, market, and status in one call
# ETF listings on NYSE, with instrument & status embedded
curl -X POST \
https://api.ptolemy.cloud/workspaces/{workspace}/market-listings/filter \
-H "Authorization: Bearer $TOKEN" \
-d '{
"market_id": "nyse",
"type_id": "etf-share",
"include": ["instrument", "market", "status"],
"limit": 50
}'Prices, NAV, and signals — one query away.
Time series values are first-class objects in Ptolemy. Each value is typed and scoped to an instrument, a series, and a timestamp. Query a single instrument’s history or filter across your whole universe in one call.
- Scalar values — one typed value per instrument, series, timestamp
- Composite values — structured rows (e.g. ETF holdings snapshots)
- Filter by series, instrument, and timestamp range
- Sideload instrument, series, type, and tags via `include`
# Daily close prices for one instrument over a range
GET https://api.ptolemy.cloud/workspaces/{workspace}/time-series-values
?series_id=close-price
&instrument_id=aapl
&ts_from=2024-01-01
&ts_to=2024-12-31Not just an API. A workspace for the whole team.
The same data, behind a fast graphical UI. Search, filter, manage columns, and export — across instruments, markets, and time series.
Access your data the way
your team works.
Ptolemy meets your team where they are — a graphical dashboard for everyone, CSV and Excel for analysts, and a REST API for engineers and automated systems. A Python SDK and an Excel add-in are on the way.
See it working in your
environment.
Start free. Full REST API from day one. No credit card required.