From 37da7c17f9ee42faa1f195f5f9fb168b64017480 Mon Sep 17 00:00:00 2001 From: justinpolygon <123573436+justinpolygon@users.noreply.github.com> Date: Wed, 19 Nov 2025 20:45:28 -0800 Subject: [PATCH 1/3] Updated with latest 2025-11-19 spec --- LICENSE | 2 +- ...n_ignore_v1indicators_ema_crypto_ticker.js | 15 - ...lygon_ignore_v1indicators_ema_fx_ticker.js | 15 - ..._ignore_v1indicators_ema_indices_ticker.js | 15 - ..._ignore_v1indicators_ema_options_ticker.js | 15 - ..._ignore_v1indicators_macd_crypto_ticker.js | 15 - ...ygon_ignore_v1indicators_macd_fx_ticker.js | 15 - ...ignore_v1indicators_macd_indices_ticker.js | 15 - ...ignore_v1indicators_macd_options_ticker.js | 15 - ...n_ignore_v1indicators_rsi_crypto_ticker.js | 15 - ...lygon_ignore_v1indicators_rsi_fx_ticker.js | 15 - ..._ignore_v1indicators_rsi_indices_ticker.js | 15 - ..._ignore_v1indicators_rsi_options_ticker.js | 15 - ...n_ignore_v1indicators_sma_crypto_ticker.js | 15 - ...lygon_ignore_v1indicators_sma_fx_ticker.js | 15 - ..._ignore_v1indicators_sma_indices_ticker.js | 15 - ..._ignore_v1indicators_sma_options_ticker.js | 15 - ...ygon_ignore_v2last_trade_options_ticker.js | 15 - .../x_polygon_ignore_v3quotes_fx_ticker.js | 15 - ..._polygon_ignore_v3quotes_options_ticker.js | 15 - ...x_polygon_ignore_v3trades_crypto_ticker.js | 15 - ..._polygon_ignore_v3trades_options_ticker.js | 15 - package-lock.json | 23 +- package.json | 19 +- scripts/pull_spec.js | 5 +- src/main.ts | 10 +- src/openapi.json | 14000 +++++++-- src/rest/.openapi-generator/FILES | 42 + src/rest/api.ts | 26238 ++++++++++------ src/rest/base.ts | 2 +- src/websockets/crypto/index.ts | 6 +- src/websockets/forex/index.ts | 2 +- src/websockets/futures/index.ts | 2 +- src/websockets/indices/index.ts | 2 +- src/websockets/options/index.ts | 2 +- src/websockets/stocks/index.ts | 2 +- 36 files changed, 29048 insertions(+), 11624 deletions(-) delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_ema_crypto_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_ema_fx_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_ema_indices_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_ema_options_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_macd_crypto_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_macd_fx_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_macd_indices_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_macd_options_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_rsi_crypto_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_rsi_fx_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_rsi_indices_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_rsi_options_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_sma_crypto_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_sma_fx_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_sma_indices_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v1indicators_sma_options_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v2last_trade_options_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v3quotes_fx_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v3quotes_options_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v3trades_crypto_ticker.js delete mode 100644 examples/rest/x_polygon_ignore_v3trades_options_ticker.js diff --git a/LICENSE b/LICENSE index e1014b4..c71c556 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 Polygon.io +Copyright (c) 2019 Massive.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/examples/rest/x_polygon_ignore_v1indicators_ema_crypto_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_ema_crypto_ticker.js deleted file mode 100644 index 48c713b..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_ema_crypto_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsEmaCryptoTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsEmaCryptoTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsEmaCryptoTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_ema_fx_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_ema_fx_ticker.js deleted file mode 100644 index 99894bf..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_ema_fx_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsEmaFxTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsEmaFxTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsEmaFxTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_ema_indices_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_ema_indices_ticker.js deleted file mode 100644 index 3d7a55d..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_ema_indices_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsEmaIndicesTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsEmaIndicesTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsEmaIndicesTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_ema_options_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_ema_options_ticker.js deleted file mode 100644 index 4fbbe2a..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_ema_options_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsEmaOptionsTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsEmaOptionsTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsEmaOptionsTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_macd_crypto_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_macd_crypto_ticker.js deleted file mode 100644 index 26031b1..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_macd_crypto_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsMacdCryptoTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsMacdCryptoTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsMacdCryptoTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_macd_fx_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_macd_fx_ticker.js deleted file mode 100644 index 0552041..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_macd_fx_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsMacdFxTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsMacdFxTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsMacdFxTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_macd_indices_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_macd_indices_ticker.js deleted file mode 100644 index bf1ffa3..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_macd_indices_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsMacdIndicesTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsMacdIndicesTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsMacdIndicesTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_macd_options_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_macd_options_ticker.js deleted file mode 100644 index 00b2491..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_macd_options_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsMacdOptionsTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsMacdOptionsTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsMacdOptionsTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_rsi_crypto_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_rsi_crypto_ticker.js deleted file mode 100644 index e013f2b..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_rsi_crypto_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsRsiCryptoTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsRsiCryptoTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsRsiCryptoTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_rsi_fx_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_rsi_fx_ticker.js deleted file mode 100644 index 6dec1b6..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_rsi_fx_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsRsiFxTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsRsiFxTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsRsiFxTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_rsi_indices_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_rsi_indices_ticker.js deleted file mode 100644 index 3a9103d..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_rsi_indices_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsRsiIndicesTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsRsiIndicesTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsRsiIndicesTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_rsi_options_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_rsi_options_ticker.js deleted file mode 100644 index b4cd5a1..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_rsi_options_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsRsiOptionsTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsRsiOptionsTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsRsiOptionsTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_sma_crypto_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_sma_crypto_ticker.js deleted file mode 100644 index 12198e6..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_sma_crypto_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsSmaCryptoTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsSmaCryptoTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsSmaCryptoTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_sma_fx_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_sma_fx_ticker.js deleted file mode 100644 index a8bdd09..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_sma_fx_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsSmaFxTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsSmaFxTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsSmaFxTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_sma_indices_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_sma_indices_ticker.js deleted file mode 100644 index b041761..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_sma_indices_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsSmaIndicesTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsSmaIndicesTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsSmaIndicesTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v1indicators_sma_options_ticker.js b/examples/rest/x_polygon_ignore_v1indicators_sma_options_ticker.js deleted file mode 100644 index 95f67ea..0000000 --- a/examples/rest/x_polygon_ignore_v1indicators_sma_options_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV1IndicatorsSmaOptionsTicker() { - try { - const response = await rest.xMassiveIgnoreV1IndicatorsSmaOptionsTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV1IndicatorsSmaOptionsTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v2last_trade_options_ticker.js b/examples/rest/x_polygon_ignore_v2last_trade_options_ticker.js deleted file mode 100644 index 8230068..0000000 --- a/examples/rest/x_polygon_ignore_v2last_trade_options_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV2LastTradeOptionsTicker() { - try { - const response = await rest.xMassiveIgnoreV2LastTradeOptionsTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV2LastTradeOptionsTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v3quotes_fx_ticker.js b/examples/rest/x_polygon_ignore_v3quotes_fx_ticker.js deleted file mode 100644 index 8f3d36e..0000000 --- a/examples/rest/x_polygon_ignore_v3quotes_fx_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV3QuotesFxTicker() { - try { - const response = await rest.xMassiveIgnoreV3QuotesFxTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV3QuotesFxTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v3quotes_options_ticker.js b/examples/rest/x_polygon_ignore_v3quotes_options_ticker.js deleted file mode 100644 index 606e441..0000000 --- a/examples/rest/x_polygon_ignore_v3quotes_options_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV3QuotesOptionsTicker() { - try { - const response = await rest.xMassiveIgnoreV3QuotesOptionsTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV3QuotesOptionsTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v3trades_crypto_ticker.js b/examples/rest/x_polygon_ignore_v3trades_crypto_ticker.js deleted file mode 100644 index 3d7299e..0000000 --- a/examples/rest/x_polygon_ignore_v3trades_crypto_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV3TradesCryptoTicker() { - try { - const response = await rest.xMassiveIgnoreV3TradesCryptoTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV3TradesCryptoTicker(); \ No newline at end of file diff --git a/examples/rest/x_polygon_ignore_v3trades_options_ticker.js b/examples/rest/x_polygon_ignore_v3trades_options_ticker.js deleted file mode 100644 index fd46aa5..0000000 --- a/examples/rest/x_polygon_ignore_v3trades_options_ticker.js +++ /dev/null @@ -1,15 +0,0 @@ -import { restClient } from '@massive.com/client-js'; - -const apiKey = "GLOBAL_MASSIVE_API_KEY"; -const rest = restClient(apiKey, 'https://api.massive.com'); - -async function example_xMassiveIgnoreV3TradesOptionsTicker() { - try { - const response = await rest.xMassiveIgnoreV3TradesOptionsTicker(); - console.log('Response:', response); - } catch (e) { - console.error('An error happened:', e); - } -} - -example_xMassiveIgnoreV3TradesOptionsTicker(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e56de1b..32ca9bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "@polygon.io/client-js", - "version": "8.2.0", + "name": "@massive.com/client-js", + "version": "9.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@polygon.io/client-js", - "version": "8.2.0", + "name": "@massive.com/client-js", + "version": "9.1.0", "license": "MIT", "workspaces": [ "./dist/*", @@ -15,6 +15,7 @@ "dependencies": { "axios": "^1.8.4", "cross-fetch": "^3.1.4", + "openapi-generator-cli": "^1.0.0", "query-string": "^7.0.1", "websocket": "^1.0.34" }, @@ -4475,6 +4476,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openapi-generator-cli": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/openapi-generator-cli/-/openapi-generator-cli-1.0.0.tgz", + "integrity": "sha512-gJ6YXQAkmoTYZ6kPG3rX9lHvVTh/bnWxfr6pDxjUfx+vSoE+JsuR4LDw+MrgH/7ezsJRFaljR66k0AlOXDW/eQ==", + "license": "ISC", + "bin": { + "openapi-generator-cli": "cli.js" + } + }, "node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -10133,6 +10143,11 @@ "is-wsl": "^3.1.0" } }, + "openapi-generator-cli": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/openapi-generator-cli/-/openapi-generator-cli-1.0.0.tgz", + "integrity": "sha512-gJ6YXQAkmoTYZ6kPG3rX9lHvVTh/bnWxfr6pDxjUfx+vSoE+JsuR4LDw+MrgH/7ezsJRFaljR66k0AlOXDW/eQ==" + }, "ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", diff --git a/package.json b/package.json index a1af785..2535376 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "@polygon.io/client-js", - "version": "8.2.0", - "description": "Isomorphic Javascript client for Polygon.io Stocks, Forex, and Crypto APIs", + "name": "@massive.com/client-js", + "version": "9.1.0", + "description": "Isomorphic Javascript client for Massive.com Stocks, Options, Indices, Futures, Forex, and Crypto APIs", "main": "dist/main.js", "types": "dist/main.d.ts", "type": "module", @@ -22,10 +22,10 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/polygon-io/client-js.git" + "url": "git+https://github.com/massive-com/client-js.git" }, "keywords": [ - "polygon.io", + "massive.com", "stock api", "options api", "forex api", @@ -33,18 +33,19 @@ ], "contributors": [ { - "name": "Polygon Support", - "email": "support@polygon.io" + "name": "Massive Support", + "email": "support@massive.com" } ], "license": "MIT", "bugs": { - "url": "https://github.com/polygon-io/client-js/issues" + "url": "https://github.com/massive-com/client-js/issues" }, - "homepage": "https://github.com/polygon-io/client-js#readme", + "homepage": "https://github.com/massive-com/client-js#readme", "dependencies": { "axios": "^1.8.4", "cross-fetch": "^3.1.4", + "openapi-generator-cli": "^1.0.0", "query-string": "^7.0.1", "websocket": "^1.0.34" }, diff --git a/scripts/pull_spec.js b/scripts/pull_spec.js index 267c2fd..9f08657 100644 --- a/scripts/pull_spec.js +++ b/scripts/pull_spec.js @@ -29,7 +29,10 @@ const main = async () => { for (const [path, pathObj] of Object.entries(spec.paths)) { // Skip paths marked as drafts - if (pathObj["x-massive-draft"]) continue; + if (pathObj["x-polygon-draft"]) continue; + + // Skip paths starting with /v1/reference/ + if (path.startsWith('/v1/reference/')) continue; // Since all endpoints use GET, process the 'get' method const operation = pathObj.get; diff --git a/src/main.ts b/src/main.ts index 5b5ae31..e2c3f55 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,7 @@ import axios from 'axios'; import websocketClient, { IWebsocketClient } from "./websockets/index.js"; import { DefaultApi, Configuration } from "./rest/index.js"; -export interface IPolygonClient { +export interface IMassiveClient { rest: DefaultApi; websockets: IWebsocketClient; } @@ -14,7 +14,7 @@ export const restClient = (apikey: string, restApiBase?: string, globalFetchOpti // This function creates a generated REST client using the DefaultApi from the generated REST code // Note: This does not include any custom interceptors or configurations const config = new Configuration({ apiKey: apikey }); - const SERVICE_BASE_URL = 'https://api.polygon.io'; // Fallback to default if not set + const SERVICE_BASE_URL = 'https://api.massive.com'; // Fallback to default if not set // Create a new axios instance to avoid global interceptor pollution const axiosInstance = axios.create(); @@ -31,14 +31,14 @@ export const restClient = (apikey: string, restApiBase?: string, globalFetchOpti return new DefaultApi(config, restApiBase || SERVICE_BASE_URL, axiosInstance); } -export const polygonClient = ( +export const MassiveClient = ( apiKey: string, restApiBase?: string, websocketApiBase?: string, globalFetchOptions?: { pagination: boolean } -): IPolygonClient => ({ +): IMassiveClient => ({ rest: restClient(apiKey, restApiBase, globalFetchOptions), websockets: websocketClient(apiKey, websocketApiBase), }); -export default polygonClient; +export default MassiveClient; diff --git a/src/openapi.json b/src/openapi.json index d31535d..3fe347f 100644 --- a/src/openapi.json +++ b/src/openapi.json @@ -21,7 +21,7 @@ } }, "AggregateLimitMax50000": { - "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", + "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", "example": 120, "in": "query", "name": "limit", @@ -283,7 +283,7 @@ "type": "boolean" }, "AskExchangeId": { - "description": "The ask exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The ask exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "AskPrice": { @@ -296,7 +296,7 @@ "type": "integer" }, "BidExchangeId": { - "description": "The bid exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The bid exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "BidPrice": { @@ -429,7 +429,7 @@ "type": "array" }, "type": { - "description": "The type or class of the security. (Full List of Ticker Types)", + "description": "The type or class of the security. (Full List of Ticker Types)", "type": "string" }, "updated": { @@ -447,7 +447,7 @@ "ConditionTypeMap": { "properties": { "condition": { - "description": "Polygon.io's mapping for condition codes. For more information, see our Trade Conditions Glossary.\n", + "description": "Massive.com's mapping for condition codes. For more information, see our Trade Conditions Glossary.\n", "type": "string" } }, @@ -456,7 +456,7 @@ "Conditions": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -469,7 +469,7 @@ "items": { "properties": { "id": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "market": { @@ -590,7 +590,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -614,7 +614,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -647,13 +647,13 @@ "conditions": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" }, "exchange": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" }, "price": { @@ -704,7 +704,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -728,7 +728,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -765,7 +765,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -789,7 +789,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -924,7 +924,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -956,7 +956,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -1237,7 +1237,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -1269,7 +1269,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -1422,7 +1422,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -1446,7 +1446,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -1461,7 +1461,7 @@ "type": "object" }, "CryptoTradeExchange": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" }, "Date": { @@ -1480,7 +1480,7 @@ "items": { "properties": { "code": { - "description": "A unique identifier for the exchange internal to Polygon.io. This is not an industry code or ISO standard.", + "description": "A unique identifier for the exchange internal to Massive.com. This is not an industry code or ISO standard.", "type": "string" }, "id": { @@ -1513,7 +1513,7 @@ "type": "array" }, "ExchangeId": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "Financial": { @@ -1999,7 +1999,7 @@ "type": "object" }, "Fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -2032,7 +2032,7 @@ "type": "number" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "timestamp": { @@ -2062,7 +2062,7 @@ "type": "object" }, "ForexExchangeId": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "ForexGroupedResults": { @@ -2167,7 +2167,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" } }, @@ -2206,7 +2206,7 @@ "type": "number" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "timestamp": { @@ -2413,7 +2413,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -2609,7 +2609,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -2860,7 +2860,7 @@ "type": "object" }, "Indicators": { - "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://polygon.io/glossary/us/stocks/conditions-indicators).\n", + "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://massive.com/glossary/us/stocks/conditions-indicators).\n", "items": { "description": "The indicator code.\n", "type": "integer" @@ -3922,7 +3922,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -3989,7 +3989,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" } }, @@ -4193,7 +4193,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -4260,7 +4260,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" } }, @@ -4555,19 +4555,19 @@ "type": "integer" }, "X": { - "description": "The ask exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The ask exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" }, "i": { - "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://polygon.io/glossary/us/stocks/conditions-indicators).\n", + "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://massive.com/glossary/us/stocks/conditions-indicators).\n", "items": { "description": "The indicator code.\n", "type": "integer" @@ -4584,7 +4584,7 @@ "type": "integer" }, "x": { - "description": "The bid exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The bid exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "z": { @@ -4657,19 +4657,19 @@ "type": "integer" }, "X": { - "description": "The ask exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The ask exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" }, "i": { - "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://polygon.io/glossary/us/stocks/conditions-indicators).\n", + "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://massive.com/glossary/us/stocks/conditions-indicators).\n", "items": { "description": "The indicator code.\n", "type": "integer" @@ -4686,7 +4686,7 @@ "type": "integer" }, "x": { - "description": "The bid exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The bid exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "z": { @@ -4754,7 +4754,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -4782,7 +4782,7 @@ "type": "number" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "z": { @@ -4847,7 +4847,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -4875,7 +4875,7 @@ "type": "number" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "z": { @@ -6046,6 +6046,14 @@ "type": "string" } }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "date.any_of", + "schema": { + "type": "string" + } + }, { "description": "Filter greater than the value.", "in": "query", @@ -6428,7 +6436,7 @@ } }, { - "description": "The timestamp (formatted as an ISO 8601 timestamp) when the record was last updated in the system.", + "description": "The timestamp (formatted as an ISO 8601 timestamp) when the record was last updated in the system. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated", "schema": { @@ -6436,7 +6444,7 @@ } }, { - "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.any_of", "schema": { @@ -6444,7 +6452,7 @@ } }, { - "description": "Filter greater than the value.", + "description": "Filter greater than the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.gt", "schema": { @@ -6452,7 +6460,7 @@ } }, { - "description": "Filter greater than or equal to the value.", + "description": "Filter greater than or equal to the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.gte", "schema": { @@ -6460,7 +6468,7 @@ } }, { - "description": "Filter less than the value.", + "description": "Filter less than the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.lt", "schema": { @@ -6468,7 +6476,7 @@ } }, { - "description": "Filter less than or equal to the value.", + "description": "Filter less than or equal to the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.lte", "schema": { @@ -6742,11 +6750,11 @@ } }, { - "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'desc' if not specified.", + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'last_updated' if not specified. The sort order defaults to 'desc' if not specified.", "in": "query", "name": "sort", "schema": { - "default": "date.desc", + "default": "last_updated.desc", "type": "string" } } @@ -6865,6 +6873,7 @@ }, "last_updated": { "description": "The timestamp (formatted as an ISO 8601 timestamp) when the record was last updated in the system.", + "format": "date-time", "type": "string" }, "notes": { @@ -8274,14 +8283,6 @@ "type": "integer" } }, - { - "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list. Value must be an integer.", - "in": "query", - "name": "importance.any_of", - "schema": { - "type": "string" - } - }, { "description": "Filter greater than the value. Value must be an integer.", "in": "query", @@ -8319,7 +8320,7 @@ } }, { - "description": "The timestamp (formatted as an ISO 8601 timestamp) when the rating was last updated in the system.", + "description": "The timestamp (formatted as an ISO 8601 timestamp) when the rating was last updated in the system. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated", "schema": { @@ -8327,15 +8328,7 @@ } }, { - "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", - "in": "query", - "name": "last_updated.any_of", - "schema": { - "type": "string" - } - }, - { - "description": "Filter greater than the value.", + "description": "Filter greater than the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.gt", "schema": { @@ -8343,7 +8336,7 @@ } }, { - "description": "Filter greater than or equal to the value.", + "description": "Filter greater than or equal to the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.gte", "schema": { @@ -8351,7 +8344,7 @@ } }, { - "description": "Filter less than the value.", + "description": "Filter less than the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.lt", "schema": { @@ -8359,7 +8352,7 @@ } }, { - "description": "Filter less than or equal to the value.", + "description": "Filter less than or equal to the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", "name": "last_updated.lte", "schema": { @@ -8618,11 +8611,11 @@ } }, { - "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'desc' if not specified.", + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'last_updated' if not specified. The sort order defaults to 'desc' if not specified.", "in": "query", "name": "sort", "schema": { - "default": "date.desc", + "default": "last_updated.desc", "type": "string" } } @@ -8679,7 +8672,7 @@ "properties": { "adjusted_price_target": { "description": "The current price target adjusted for stock splits and dividends.", - "format": "float", + "format": "double", "type": "number" }, "analyst": { @@ -8729,6 +8722,7 @@ }, "last_updated": { "description": "The timestamp (formatted as an ISO 8601 timestamp) when the rating was last updated in the system.", + "format": "date-time", "type": "string" }, "notes": { @@ -8737,12 +8731,12 @@ }, "previous_adjusted_price_target": { "description": "The previous price target adjusted for stock splits and dividends.", - "format": "float", + "format": "double", "type": "number" }, "previous_price_target": { "description": "The previous price target set by the analyst.", - "format": "float", + "format": "double", "type": "number" }, "previous_rating": { @@ -8751,12 +8745,12 @@ }, "price_percent_change": { "description": "The percentage change in price target if price target and previous price target exists", - "format": "float", + "format": "double", "type": "number" }, "price_target": { "description": "The current price target set by the analyst.", - "format": "float", + "format": "double", "type": "number" }, "price_target_action": { @@ -8841,15 +8835,103 @@ ] } }, - "/fed/v1/inflation": { + "/benzinga/v2/news": { "get": { - "description": "A table tracking inflation and price indices, including Consumer Price Index (CPI) and Personal Consumption Expenditures (PCE) metrics over time.", - "operationId": "get_fed_v1_inflation", + "description": "A comprehensive news article database from Benzinga, containing detailed information about financial news articles including metadata, content, and associated financial information.", + "operationId": "get_benzinga_v2_news", "parameters": [ { - "description": "Calendar date of the observation (YYYY‑MM‑DD).", + "description": "The timestamp (formatted as an ISO 8601 timestamp) when the news article was originally published. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", "in": "query", - "name": "date", + "name": "published", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "published.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "published.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "published.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be an integer timestamp in seconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "published.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain the value.", + "in": "query", + "name": "channels", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "channels.all_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "channels.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain the value.", + "in": "query", + "name": "tags", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tags.all_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tags.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "The name of the journalist or entity that authored the news article.", + "in": "query", + "name": "author", "schema": { "type": "string" } @@ -8857,7 +8939,7 @@ { "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", "in": "query", - "name": "date.any_of", + "name": "author.any_of", "schema": { "type": "string" } @@ -8865,7 +8947,7 @@ { "description": "Filter greater than the value.", "in": "query", - "name": "date.gt", + "name": "author.gt", "schema": { "type": "string" } @@ -8873,7 +8955,7 @@ { "description": "Filter greater than or equal to the value.", "in": "query", - "name": "date.gte", + "name": "author.gte", "schema": { "type": "string" } @@ -8881,7 +8963,7 @@ { "description": "Filter less than the value.", "in": "query", - "name": "date.lt", + "name": "author.lt", "schema": { "type": "string" } @@ -8889,7 +8971,55 @@ { "description": "Filter less than or equal to the value.", "in": "query", - "name": "date.lte", + "name": "author.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain the value.", + "in": "query", + "name": "stocks", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "stocks.all_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "stocks.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain the value.", + "in": "query", + "name": "tickers", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.all_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.any_of", "schema": { "type": "string" } @@ -8906,11 +9036,11 @@ } }, { - "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'asc' if not specified.", + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'published' if not specified. The sort order defaults to 'desc' if not specified.", "in": "query", "name": "sort", "schema": { - "default": "date.asc", + "default": "published.desc", "type": "string" } } @@ -8924,13 +9054,32 @@ "request_id": 1, "results": [ { - "cpi": 310.45, - "cpi_core": 320.1, - "cpi_year_over_year": 3.18, - "date": "2025-06-01", - "pce": 132.73, - "pce_core": 131.9, - "pce_spending": 20345.6 + "author": "Adam Eckert", + "benzinga_id": 39046904, + "body": "
CAVA Group Inc (NYSE:CAVA) reported financial results for the first quarter of fiscal 2024 after market close on Tuesday. Here’s a look at the key metrics from the quarter.
", + "channels": [ + "earnings", + "news", + "restaurants", + "after-hours center", + "movers" + ], + "images": [ + "https://cdn.benzinga.com/files/imagecache/250x187xUP/images/story/2024/05/28/CAVA-group.jpeg", + "https://cdn.benzinga.com/files/imagecache/1024x768xUP/images/story/2024/05/28/CAVA-group.jpeg", + "https://cdn.benzinga.com/files/imagecache/2048x1536xUP/images/story/2024/05/28/CAVA-group.jpeg" + ], + "last_updated": "2024-05-28T20:27:42Z", + "published": "2024-05-28T20:27:41Z", + "tags": [ + "why it's moving" + ], + "teaser": "Cava's first-quarter revenue increased 30.3% year-over-year to $256.3 million, which beat the consensus estimate of $245.935 million, according to Benzinga Pro.", + "tickers": [ + "CAVA" + ], + "title": "Cava Group Q1 Earnings: Revenue Beat, EPS Beat, Guidance Raise, Continued Investments In Scalable Infrastructure And More", + "url": "https://www.benzinga.com/news/earnings/24/05/39046904/cava-group-q1-earnings-revenue-beat-eps-beat-guidance-raise-continued-investments-in-scalable-infra" } ], "status": "OK" @@ -8949,41 +9098,78 @@ "description": "The results for this request.", "items": { "properties": { - "cpi": { - "description": "Consumer Price Index (CPI) for All Urban Consumers — a standard measure of headline inflation based on a fixed basket of goods and services, not seasonally adjusted.", - "format": "float", - "type": "number" + "author": { + "description": "The name of the journalist or entity that authored the news article.", + "type": "string" }, - "cpi_core": { - "description": "Core Consumer Price Index — the CPI excluding food and energy, used to understand underlying inflation trends without short-term volatility.", - "format": "float", - "type": "number" + "benzinga_id": { + "description": "The identifer used by Benzinga for this record.", + "format": "int64", + "type": "integer" }, - "cpi_year_over_year": { - "description": "Year-over-year percentage change in the headline CPI — the most commonly cited inflation rate in public discourse and economic policy.", - "format": "float", - "type": "number" + "body": { + "description": "The full text content of the news article.", + "type": "string" }, - "date": { - "description": "Calendar date of the observation (YYYY‑MM‑DD).", + "channels": { + "description": "A list of categories or topics that the article belongs to (e.g., 'News', 'Price Target').", + "items": { + "type": "string" + }, + "type": "array" + }, + "images": { + "description": "A list of images associated with the article.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated": { + "description": "The timestamp (formatted as an ISO 8601 timestamp) when the news article was last updated in the system.", + "format": "date-time", "type": "string" }, - "pce": { - "description": "Personal Consumption Expenditures (PCE) Price Index — a broader measure of inflation used by the Federal Reserve, reflecting actual consumer spending patterns and updated basket weights.", - "format": "float", - "type": "number" + "published": { + "description": "The timestamp (formatted as an ISO 8601 timestamp) when the news article was originally published.", + "format": "date-time", + "type": "string" }, - "pce_core": { - "description": "Core PCE Price Index — excludes food and energy prices from the PCE index, and is the Fed's preferred measure of underlying inflation.", - "format": "float", - "type": "number" + "tags": { + "description": "A list of tags that describe the themes or content of the article.", + "items": { + "type": "string" + }, + "type": "array" }, - "pce_spending": { - "description": "Nominal Personal Consumption Expenditures — total dollar value of consumer spending in the U.S. economy, reported in billions of dollars and not adjusted for inflation.", - "format": "float", - "type": "number" + "teaser": { + "description": "A short summary or lead-in to the news article's content.", + "type": "string" + }, + "tickers": { + "description": "A list of stock or crypto tickers mentioned in the article.", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "The headline of the news article.", + "type": "string" + }, + "url": { + "description": "The direct link to the source of the news article.", + "type": "string" } }, + "required": [ + "benzinga_id", + "author", + "published", + "last_updated", + "title", + "url" + ], "type": "object" }, "type": "array" @@ -9045,78 +9231,21 @@ ] } }, - "/fed/v1/inflation-expectations": { + "/crypto/v1/exchanges": { "get": { - "description": "A table tracking inflation expectations from both market-based and economic model perspectives across different time horizons.", - "operationId": "get_fed_v1_inflation-expectations", + "description": "Global cryptocurrency exchanges and digital asset trading platforms, including major centralized exchanges (Coinbase, Binance, Bitfinex, etc.) that facilitate trading of cryptocurrencies and digital tokens worldwide.", + "operationId": "get_crypto_v1_exchanges", "parameters": [ { - "description": "Calendar date of the observation (YYYY‑MM‑DD).", - "in": "query", - "name": "date", - "schema": { - "type": "string" - } - }, - { - "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", - "in": "query", - "name": "date.any_of", - "schema": { - "type": "string" - } - }, - { - "description": "Filter greater than the value.", - "in": "query", - "name": "date.gt", - "schema": { - "type": "string" - } - }, - { - "description": "Filter greater than or equal to the value.", - "in": "query", - "name": "date.gte", - "schema": { - "type": "string" - } - }, - { - "description": "Filter less than the value.", - "in": "query", - "name": "date.lt", - "schema": { - "type": "string" - } - }, - { - "description": "Filter less than or equal to the value.", - "in": "query", - "name": "date.lte", - "schema": { - "type": "string" - } - }, - { - "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '999'.", "in": "query", "name": "limit", "schema": { "default": 100, - "maximum": 50001, + "maximum": 1000, "minimum": 1, "type": "integer" } - }, - { - "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'asc' if not specified.", - "in": "query", - "name": "sort", - "schema": { - "default": "date.asc", - "type": "string" - } } ], "responses": { @@ -9124,18 +9253,20 @@ "content": { "application/json": { "example": { - "count": 1, + "count": 2, "request_id": 1, "results": [ { - "date": "2025-06-17", - "forward_years_5_to_10": 2.6, - "market_10_year": 2.36, - "market_5_year": 2.12, - "model_10_year": 2.95, - "model_1_year": 2.85, - "model_30_year": 3, - "model_5_year": 2.91 + "id": "1", + "name": "Coinbase", + "type": "exchange", + "url": "https://www.coinbase.com" + }, + { + "id": "10", + "name": "Binance", + "type": "exchange", + "url": "https://www.binance.us/" } ], "status": "OK" @@ -9154,46 +9285,28 @@ "description": "The results for this request.", "items": { "properties": { - "date": { - "description": "Calendar date of the observation (YYYY‑MM‑DD).", + "id": { + "description": "Numeric identifier for the cryptocurrency exchange or trading platform.", "type": "string" }, - "forward_years_5_to_10": { - "description": "5-Year, 5-Year Forward Inflation Expectation Rate — the market's expectation of average annual inflation for the 5-year period beginning 5 years from now, based on the spread between forward nominal and real yields.", - "format": "float", - "type": "number" - }, - "market_10_year": { - "description": "10-Year Breakeven Inflation Rate — the market's expectation of average annual inflation over the next 10 years, based on the spread between 10-year nominal Treasury yields and 10-year TIPS yields.", - "format": "float", - "type": "number" - }, - "market_5_year": { - "description": "5-Year Breakeven Inflation Rate — the market's expectation of average annual inflation over the next 5 years, based on the spread between 5-year nominal Treasury yields and 5-year TIPS yields.", - "format": "float", - "type": "number" - }, - "model_10_year": { - "description": "The Cleveland Fed’s 10-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", - "format": "float", - "type": "number" - }, - "model_1_year": { - "description": "The Cleveland Fed’s 1-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", - "format": "float", - "type": "number" + "name": { + "description": "Full official name of the cryptocurrency exchange or digital asset trading platform.", + "type": "string" }, - "model_30_year": { - "description": "The Cleveland Fed’s 30-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", - "format": "float", - "type": "number" + "type": { + "description": "Type of crypto venue - 'exchange' for cryptocurrency exchanges and digital asset trading platforms.", + "type": "string" }, - "model_5_year": { - "description": "The Cleveland Fed’s 5-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", - "format": "float", - "type": "number" + "url": { + "description": "Official website URL of the cryptocurrency exchange.", + "type": "string" } }, + "required": [ + "id", + "type", + "name" + ], "type": "object" }, "type": "array" @@ -9255,15 +9368,15 @@ ] } }, - "/fed/v1/treasury-yields": { + "/etf-global/v1/analytics": { "get": { - "description": "A record of U.S. Treasury bond yields across various maturity periods, tracking historical interest rates from short-term to long-term government securities.", - "operationId": "get_fed_v1_treasury-yields", + "description": "ETF Global analytics data containing risk scores, reward metrics, and quantitative analysis for ETF composite tickers.", + "operationId": "get_etf-global_v1_analytics", "parameters": [ { - "description": "Calendar date of the yield observation (YYYY-MM-DD).", + "description": "The stock ticker symbol used to identify this ETF product on exchanges.", "in": "query", - "name": "date", + "name": "composite_ticker", "schema": { "type": "string" } @@ -9271,7 +9384,7 @@ { "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", "in": "query", - "name": "date.any_of", + "name": "composite_ticker.any_of", "schema": { "type": "string" } @@ -9279,7 +9392,7 @@ { "description": "Filter greater than the value.", "in": "query", - "name": "date.gt", + "name": "composite_ticker.gt", "schema": { "type": "string" } @@ -9287,7 +9400,7 @@ { "description": "Filter greater than or equal to the value.", "in": "query", - "name": "date.gte", + "name": "composite_ticker.gte", "schema": { "type": "string" } @@ -9295,7 +9408,7 @@ { "description": "Filter less than the value.", "in": "query", - "name": "date.lt", + "name": "composite_ticker.lt", "schema": { "type": "string" } @@ -9303,506 +9416,561 @@ { "description": "Filter less than or equal to the value.", "in": "query", - "name": "date.lte", + "name": "composite_ticker.lte", "schema": { "type": "string" } }, { - "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "description": "The date showing when ETF Global received and processed the data. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "limit", + "name": "processed_date", "schema": { - "default": 100, - "maximum": 50001, - "minimum": 1, - "type": "integer" + "type": "string" } }, { - "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'asc' if not specified.", + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "sort", + "name": "processed_date.gt", "schema": { - "default": "date.asc", "type": "string" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "example": { - "count": 1, - "request_id": 1, - "results": [ - { - "date": "1962-01-02", - "yield_10_year": 4.06, - "yield_1_year": 3.22, - "yield_5_year": 3.88 - } - ], - "status": "OK" - }, - "schema": { - "properties": { - "next_url": { - "description": "If present, this value can be used to fetch the next page.", - "type": "string" - }, - "request_id": { - "description": "A request id assigned by the server.", - "type": "string" - }, - "results": { - "description": "The results for this request.", - "items": { - "properties": { - "date": { - "description": "Calendar date of the yield observation (YYYY-MM-DD).", - "type": "string" - }, - "yield_10_year": { - "description": "Market Yield on U.S. Treasury Securities at 10-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_1_month": { - "description": "Market Yield on U.S. Treasury Securities at 1-Month Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_1_year": { - "description": "Market Yield on U.S. Treasury Securities at 1-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_20_year": { - "description": "Market Yield on U.S. Treasury Securities at 20-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_2_year": { - "description": "Market Yield on U.S. Treasury Securities at 2-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_30_year": { - "description": "Market Yield on U.S. Treasury Securities at 30-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_3_month": { - "description": "Market Yield on U.S. Treasury Securities at 3-Month Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_3_year": { - "description": "Market Yield on U.S. Treasury Securities at 3-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_5_year": { - "description": "Market Yield on U.S. Treasury Securities at 5-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_6_month": { - "description": "Market Yield on U.S. Treasury Securities at 6-Month Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - }, - "yield_7_year": { - "description": "Market Yield on U.S. Treasury Securities at 7-Year Constant Maturity, Quoted on an Investment Basis", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "type": "array" - }, - "status": { - "description": "The status of this request's response.", - "enum": [ - "OK" - ], - "type": "string" - } - }, - "required": [ - "status", - "request_id", - "results" - ], - "type": "object" - } - } - }, - "description": "A list of results." }, - "400": { - "content": { - "application/json": { - "schema": { - "properties": { - "error": { - "description": "A message describing the source of the error.", - "type": "string" - }, - "request_id": { - "description": "A request id assigned by the server.", - "type": "string" - }, - "status": { - "description": "The status of this request's response.", - "enum": [ - "ERROR" - ], - "type": "string" - } - }, - "required": [ - "status", - "request_id", - "error" - ], - "type": "object" - } - } - }, - "description": "An error message." - } - }, - "tags": [ - "default" - ] - } - }, - "/futures/vX/aggs/{ticker}": { - "get": { - "description": "Get aggregates for a contract in a given time range.", - "operationId": "GetFuturesAggregates", - "parameters": [ { - "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", - "example": "GCJ5", - "in": "path", - "name": "ticker", - "required": true, + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.gte", "schema": { "type": "string" - }, - "x-polygon-go-id": "Ticker" + } }, { - "description": "This sets the size of the aggregate windows. It accepts custom values that specify the granularity and the duration of the window.\nFor example: 15mins, 30secs, 12hours, or 7days.\nThere are maximum allowable candle sizes. For example, you can request \"1min\" to \"59mins\", but after that you will need to use \"1hr\". If you make a request for a candle size that is not supported, we will return a 400 \"Bad Request - resolution value is not allowed.\"", - "example": "1min", + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "resolution", + "name": "processed_date.lt", "schema": { - "default": "1day", "type": "string" } }, { - "description": "This sets the range of time for your results. The window_start timestamp you choose specifies the starting edge of the candle or candles you want returned. If no value is set, you will get the oldest or newest available candles, depending on your sort order.\nYou can combine window_start to form a time range, for example: window_start.gte=2024-01-01&window_start.lte=2024-01-31", + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "window_start", + "name": "processed_date.lte", "schema": { "type": "string" - }, - "x-polygon-filter-field": { - "range": true } }, { - "description": "The number of results to return per page (default=1000, maximum=50000, minimum=1).", + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "limit", + "name": "effective_date", "schema": { - "default": 1000, - "maximum": 50000, - "minimum": 1, - "type": "integer" + "type": "string" } }, { - "description": "Range by window_start.", + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "window_start.gte", + "name": "effective_date.gt", "schema": { "type": "string" } }, { - "description": "Range by window_start.", + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "window_start.gt", + "name": "effective_date.gte", "schema": { "type": "string" } }, { - "description": "Range by window_start.", + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "window_start.lte", + "name": "effective_date.lt", "schema": { "type": "string" } }, { - "description": "Range by window_start.", + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "window_start.lt", + "name": "effective_date.lte", "schema": { "type": "string" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "ETF Global's proprietary Red Diamond overall risk assessment score for the ETF. Value must be a floating point number.", "in": "query", - "name": "sort", + "name": "risk_total_score", "schema": { - "default": "window_start.desc", - "enum": [ - "window_start.asc", - "window_start.desc" - ], - "example": "window_start.desc", - "type": "string" + "format": "double", + "type": "number" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "example": { - "request_id": "b452e45b7eaad14151c3e1ce5129b558", - "results": [ - { - "close": 2874.2, - "dollar_volume": 380560636.01, - "high": 2877.1, - "low": 2837.4, - "open": 2849.8, - "session_end_date": "2025-02-04", - "settlement_price": 2875.8, - "ticker": "GCJ5", - "transactions": 74223, - "volume": 133072, - "window_start": 1738627200000000000 - }, - { - "close": 2884.8, - "dollar_volume": 448429944.1, - "high": 2906, - "low": 2870.1, - "open": 2873.7, - "session_end_date": "2025-02-05", - "settlement_price": 2893, - "ticker": "GCJ5", - "transactions": 83673, - "volume": 155170, - "window_start": 1738713600000000000 - } - ], - "status": "OK" - }, - "schema": { - "properties": { - "next_url": { - "description": "If present, the URL to the next page of results.", - "type": "string" - }, - "results": { - "items": { - "properties": { - "close": { - "description": "The last price within the timeframe.", - "format": "double", - "type": "number" - }, - "dollar_volume": { - "description": "The total dollar volume of the transactions that occurred within the timeframe.", - "format": "double", - "type": "number" - }, - "high": { - "description": "The highest price within the timeframe.", - "format": "double", - "type": "number" - }, - "low": { - "description": "The lowest price within the timeframe.", - "format": "double", - "type": "number" - }, - "open": { - "description": "The opening price within the timeframe.", - "format": "double", - "type": "number" - }, - "session_end_date": { - "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", - "type": "string" - }, - "settlement_price": { - "description": "The price the contract would have cost to settle for this session.", - "format": "double", - "type": "number" - }, - "ticker": { - "description": "The ticker for the contract.", - "type": "string" - }, - "transaction_count": { - "description": "The number of transactions that occurred within the timeframe.", - "format": "int64", - "type": "integer" - }, - "volume": { - "description": "The number of contracts that traded within the timeframe.", - "format": "int64", - "type": "integer" - }, - "window_start": { - "description": "The timestamp of the beginning of the candlestick’s aggregation window.", - "format": "int64", - "type": "integer", - "x-polygon-go-type": { - "name": "INanoseconds", - "path": "github.com/polygon-io/ptime" - } - } - }, - "type": "object" - }, - "type": "array" - }, - "status": { - "description": "The status of the response.", - "type": "string" - } - }, - "type": "object" - } - } - }, - "description": "A list of aggregates." - } - }, - "summary": "Aggregates", - "tags": [ - "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Aggregate data", - "name": "aggregates" - }, - "x-polygon-entitlement-market-type": { - "description": "Futures data", - "name": "futures" - } - } - }, - "/futures/vX/contracts": { - "get": { - "description": "The Contracts endpoint returns a list of futures contracts. This endpoint can be used to query for contracts based on a variety of parameters, including the contract's ticker, product code, first trade date, last trade date, and whether or not the contract was active on a given date.", - "operationId": "GetFuturesContracts", - "parameters": [ + }, { - "description": "A unique identifier for the Product a Contract belongs to. Note that multiple contracts can belong to the same product.", + "description": "Filter greater than the value. Value must be a floating point number.", "in": "query", - "name": "product_code", + "name": "risk_total_score.gt", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "The first day that a contract was tradeable. A date with the format YYYY-MM-DD.", + "description": "Filter greater than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "first_trade_date", + "name": "risk_total_score.gte", "schema": { - "format": "date", - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "The last day that the contract was tradeable. A date with the format YYYY-MM-DD.", + "description": "Filter less than the value. Value must be a floating point number.", "in": "query", - "name": "last_trade_date", + "name": "risk_total_score.lt", "schema": { - "format": "date", - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Specify the point-in-time for which you want to retrieve information. Note that the contract data returned for a given date is the state of that contract as of that day. A date in the format YYYY-MM-DD (default=today).", + "description": "Filter less than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "as_of", + "name": "risk_total_score.lte", "schema": { - "format": "date", - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Filter for contracts based on whether or not they were tradeable at the given point in time. For example, if the date queried is greater-than or equal-to a contract's 'first_trade_date' and less-than-or-equal-to its 'last_trade_date', then the contract was active. If the date queried is greater-than-or-equal-to the contract's 'last_trade_date' or less-than-or-equal-to its 'first_trade_date', then the contract was inactive.", + "description": "ETF Global's proprietary Green Diamond score measuring the potential reward and return prospects of the ETF. Value must be a floating point number.", "in": "query", - "name": "active", + "name": "reward_score", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "reward_score.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "reward_score.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "reward_score.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "reward_score.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "ETF Global's comprehensive quantitative analysis score combining all quantitative factors. Value must be a floating point number.", + "in": "query", + "name": "quant_total_score", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_total_score.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_total_score.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_total_score.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_total_score.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Letter grade summarizing the ETF's overall quantitative assessment, where A = 71-100, B = 56-70, etc.", + "in": "query", + "name": "quant_grade", "schema": { - "default": "all", - "enum": [ - "all", - "true", - "false" - ], "type": "string" } }, { - "description": "The type of contract, one of \"all\", \"single\", or \"combo\" (default=all).", + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", "in": "query", - "name": "type", + "name": "quant_grade.any_of", "schema": { - "default": "all", - "enum": [ - "all", - "single", - "combo" - ], "type": "string" } }, { - "description": "The number of results to return per page (default=100, max=1000, min=1).", + "description": "Filter greater than the value.", + "in": "query", + "name": "quant_grade.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "quant_grade.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "quant_grade.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "quant_grade.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Combined technical analysis score aggregating short, intermediate, and long-term technical factors. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_technical", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_technical.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_technical.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_technical.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_technical.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Overall market sentiment score combining put/call ratios, short interest, and implied volatility. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_sentiment", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_sentiment.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_sentiment.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_sentiment.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_sentiment.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Behavioral analysis score measuring investor psychology and market behavior patterns. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_behavioral", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_behavioral.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_behavioral.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_behavioral.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_behavioral.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Overall fundamental analysis score combining P/E, P/CF, P/B, and dividend yield metrics. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_fundamental", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_fundamental.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_fundamental.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_fundamental.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_fundamental.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Overall global theme score combining sector and country analysis for macro investment views. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_global", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_global.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_global.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_global.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_global.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Overall quality assessment score combining liquidity, diversification, and issuing firm factors. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_quality", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_quality.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_quality.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_quality.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "quant_composite_quality.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '5000'.", "in": "query", "name": "limit", "schema": { "default": 100, - "maximum": 1000, + "maximum": 5001, "minimum": 1, "type": "integer" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'composite_ticker' if not specified. The sort order defaults to 'asc' if not specified.", "in": "query", "name": "sort", "schema": { - "default": "product_code.asc", - "enum": [ - "product_code.asc", - "product_code.desc", - "first_trade_date.asc", - "first_trade_date.desc", - "last_trade_date.asc", - "last_trade_date.desc" - ], - "example": "product_code.asc", + "default": "composite_ticker.asc", "type": "string" } } @@ -9812,41 +9980,44 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/futures/vX/contracts?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", - "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "count": 1, + "request_id": 1, "results": [ { - "active": true, - "as_of": "2025-02-26", - "days_to_maturity": 138, - "first_trade_date": "2025-01-15", - "last_trade_date": "2025-07-14", - "max_order_quantity": 1999, - "min_order_quantity": 1, - "name": "00CN5 Future", - "product_code": "00C", - "settlement_date": "2025-07-14", - "settlement_tick_size": 0.0025, - "spread_tick_size": 0.0025, - "ticker": "00CN5", - "trade_tick_size": 0.0025, - "trading_venue": "XCBT", - "type": "single" - }, - { - "active": false, - "as_of": "2025-02-26", - "days_to_maturity": -12, - "first_trade_date": "2024-09-16", - "last_trade_date": "2025-02-14", - "max_order_quantity": 1999, - "min_order_quantity": 1, - "name": "00CG5 Future", - "product_code": "00C", - "settlement_date": "2025-02-14", - "ticker": "00CG5XXX", - "trading_venue": "XCBT", - "type": "single" + "composite_ticker": "SPY", + "effective_date": "2025-09-19", + "processed_date": "2025-09-19", + "quant_composite_behavioral": 67.1535, + "quant_composite_fundamental": 1.2, + "quant_composite_global": 52.9, + "quant_composite_quality": 75.9, + "quant_composite_sentiment": 54.6, + "quant_composite_technical": 79.7, + "quant_fundamental_div": 4.7, + "quant_fundamental_pb": 0, + "quant_fundamental_pcf": 0, + "quant_fundamental_pe": 0, + "quant_global_country": 85.4, + "quant_global_sector": 20.4, + "quant_grade": "D", + "quant_quality_diversification": 29.3, + "quant_quality_firm": 98.3, + "quant_quality_liquidity": 100, + "quant_sentiment_iv": 23, + "quant_sentiment_pc": 88.9, + "quant_sentiment_si": 51.6, + "quant_technical_it": 79, + "quant_technical_lt": 78.7, + "quant_technical_st": 83.1, + "quant_total_score": 40.2, + "reward_score": 3.12, + "risk_country": 1.46, + "risk_deviation": 7.68, + "risk_efficiency": 1.85, + "risk_liquidity": 2.5, + "risk_structure": 2.37, + "risk_total_score": 9.22, + "risk_volatility": 4.66 } ], "status": "OK" @@ -9854,667 +10025,666 @@ "schema": { "properties": { "next_url": { - "description": "If present, this value can be used to fetch the next page of data.", + "description": "If present, this value can be used to fetch the next page.", "type": "string" }, "request_id": { - "description": "A unique identifier for this request.", + "description": "A request id assigned by the server.", "type": "string" }, "results": { + "description": "The results for this request.", "items": { "properties": { - "active": { - "description": "Whether or not this contract was tradeable at the given point-in-time specified in the 'as_of' attribute (a contract was active if the given day was after the 'first_trade_date' and before the 'last_trade_date').", - "type": "boolean" - }, - "as_of": { - "description": "The point-in-time date for the given contract - e.g. if 'as_of' is set to 2021-04-25, then the data retrieved describes the contract(s) as of 2021-04-25.", - "format": "date", + "composite_ticker": { + "description": "The stock ticker symbol used to identify this ETF product on exchanges.", "type": "string" }, - "days_to_maturity": { - "description": "The number of days until this contract matures (since the point-in-time date). Note that the absence of this field means there are 0 days until maturity.", - "type": "integer" - }, - "first_trade_date": { - "description": "The date on which this contract first became tradeable.", + "effective_date": { + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date.", "format": "date", "type": "string" }, - "last_trade_date": { - "description": "The date on which this contract last became tradeable.", + "processed_date": { + "description": "The date showing when ETF Global received and processed the data.", "format": "date", "type": "string" }, - "maturity": { - "description": "This field provides the calendar month reflected in the instrument symbol. For futures spreads and options spreads, this field contains the first leg's calendar month reflected in the instrument symbol. For daily products, this tag contains the full calendar date (YYYYMMDD) as reflected in the instrument symbol.", - "type": "string" + "quant_composite_behavioral": { + "description": "Behavioral analysis score measuring investor psychology and market behavior patterns.", + "format": "double", + "type": "number" }, - "max_order_quantity": { - "description": "The maximum order quantity for this contract.", - "type": "integer" + "quant_composite_fundamental": { + "description": "Overall fundamental analysis score combining P/E, P/CF, P/B, and dividend yield metrics.", + "format": "double", + "type": "number" }, - "min_order_quantity": { - "description": "The minimum order quantity for this contract.", - "type": "integer" + "quant_composite_global": { + "description": "Overall global theme score combining sector and country analysis for macro investment views.", + "format": "double", + "type": "number" }, - "name": { - "description": "The name of the contract.", - "type": "string" + "quant_composite_quality": { + "description": "Overall quality assessment score combining liquidity, diversification, and issuing firm factors.", + "format": "double", + "type": "number" }, - "product_code": { - "description": "The unique identifier for the product to which this contract belongs.", - "type": "string" + "quant_composite_sentiment": { + "description": "Overall market sentiment score combining put/call ratios, short interest, and implied volatility.", + "format": "double", + "type": "number" }, - "settlement_date": { - "description": "The final settlement date for the contract.", - "format": "date", - "type": "string" + "quant_composite_technical": { + "description": "Combined technical analysis score aggregating short, intermediate, and long-term technical factors.", + "format": "double", + "type": "number" }, - "settlement_tick_size": { - "description": "The settlement tick size for this contract.", + "quant_fundamental_div": { + "description": "Fundamental analysis score based on dividend yields of the ETF's underlying securities.", + "format": "double", "type": "number" }, - "spread_tick_size": { - "description": "The spread tick size for this contract.", + "quant_fundamental_pb": { + "description": "Fundamental analysis score based on price-to-book value ratios of the ETF's holdings.", + "format": "double", "type": "number" }, - "ticker": { - "description": "The unique identifier for the contract, typically consisting of the product code and expiration date.", - "type": "string" + "quant_fundamental_pcf": { + "description": "Fundamental analysis score based on price-to-cash-flow ratios of the ETF's underlying assets.", + "format": "double", + "type": "number" }, - "trade_tick_size": { - "description": "The tick size for this contract.", + "quant_fundamental_pe": { + "description": "Fundamental analysis score based on price-to-earnings ratios of the ETF's underlying holdings.", + "format": "double", "type": "number" }, - "trading_venue": { - "description": "The trading venue (MIC) for the exchange on which this contract trades.", - "type": "string" + "quant_global_country": { + "description": "Quantitative score analyzing global country themes and country-specific market factors.", + "format": "double", + "type": "number" }, - "type": { - "description": "The type of contract, one of \"single\" or \"combo\".", + "quant_global_sector": { + "description": "Quantitative score analyzing global sector themes and sector-specific performance factors.", + "format": "double", + "type": "number" + }, + "quant_grade": { + "description": "Letter grade summarizing the ETF's overall quantitative assessment, where A = 71-100, B = 56-70, etc.", "type": "string" - } - }, - "required": [ - "ticker", - "product_code", - "date", - "trading_venue", - "type" - ], - "type": "object", - "x-polygon-go-type": { - "name": "Contract" - } - }, - "type": "array" - }, - "status": { - "description": "The status of this request's response.", - "example": "OK", - "type": "string" - } - }, - "type": "object" - } - } - }, - "description": "A list of contracts which satify all query parameters." - } - }, - "summary": "Contracts", - "tags": [ - "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Reference data", - "name": "reference" - } - } - }, - "/futures/vX/contracts/{ticker}": { - "get": { - "description": "The Contract Details endpoint returns the details for a single contract at a specific point in time.", - "operationId": "GetFuturesContractDetails", - "parameters": [ - { - "description": "The ticker symbol of the contract to retrieve.", - "example": "ESU0", - "in": "path", - "name": "ticker", - "required": true, - "schema": { - "type": "string" - } + }, + "quant_quality_diversification": { + "description": "Quality assessment score evaluating the diversification benefits and risk distribution of the ETF.", + "format": "double", + "type": "number" + }, + "quant_quality_firm": { + "description": "Quality assessment score evaluating the reputation and capabilities of the ETF's issuing firm.", + "format": "double", + "type": "number" + }, + "quant_quality_liquidity": { + "description": "Quality assessment score measuring the liquidity characteristics and trading ease of the ETF.", + "format": "double", + "type": "number" + }, + "quant_sentiment_iv": { + "description": "Market sentiment score derived from implied volatility levels in options markets.", + "format": "double", + "type": "number" + }, + "quant_sentiment_pc": { + "description": "Market sentiment score derived from put/call option ratios and options activity.", + "format": "double", + "type": "number" + }, + "quant_sentiment_si": { + "description": "Market sentiment score based on short interest levels and short selling activity.", + "format": "double", + "type": "number" + }, + "quant_technical_it": { + "description": "Intermediate-term technical analysis score evaluating medium-term price trends.", + "format": "double", + "type": "number" + }, + "quant_technical_lt": { + "description": "Long-term technical analysis score assessing extended price trend patterns.", + "format": "double", + "type": "number" + }, + "quant_technical_st": { + "description": "Short-term technical analysis score based on recent price movements and trading patterns.", + "format": "double", + "type": "number" + }, + "quant_total_score": { + "description": "ETF Global's comprehensive quantitative analysis score combining all quantitative factors.", + "format": "double", + "type": "number" + }, + "reward_score": { + "description": "ETF Global's proprietary Green Diamond score measuring the potential reward and return prospects of the ETF.", + "format": "double", + "type": "number" + }, + "risk_country": { + "description": "A component score assessing country-specific risks based on the ETF's geographic exposure.", + "format": "double", + "type": "number" + }, + "risk_deviation": { + "description": "A component score measuring how much the ETF deviates from expected performance.", + "format": "double", + "type": "number" + }, + "risk_efficiency": { + "description": "A component score assessing the operational efficiency and cost-effectiveness of the ETF.", + "format": "double", + "type": "number" + }, + "risk_liquidity": { + "description": "A component score measuring the liquidity risk and ease of trading the ETF.", + "format": "double", + "type": "number" + }, + "risk_structure": { + "description": "A component score evaluating risks related to the ETF's structural design and mechanics.", + "format": "double", + "type": "number" + }, + "risk_total_score": { + "description": "ETF Global's proprietary Red Diamond overall risk assessment score for the ETF.", + "format": "double", + "type": "number" + }, + "risk_volatility": { + "description": "A component score measuring the volatility risk of the ETF's price movements.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." }, - { - "description": "The point-in-time of the data to be retrieved. Note that the contract data returned for a given date represents the state of that contract on that day. A date in the format YYYY-MM-DD (default=today).", - "in": "query", - "name": "as_of", - "schema": { - "format": "date", - "type": "string" - } - } - ], - "responses": { - "200": { + "400": { "content": { "application/json": { - "example": { - "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", - "results": { - "active": true, - "as_of": "2025-07-07", - "days_to_maturity": 1901, - "first_trade_date": "2025-06-20", - "last_trade_date": "2030-09-20", - "max_order_quantity": 3000, - "min_order_quantity": 1, - "name": "ESU0 Future", - "product_code": "ES", - "settlement_tick_size": 0.25, - "spread_tick_size": 0.01, - "ticker": "ESU0", - "trade_tick_size": 0.25, - "trading_venue": "XCME", - "type": "single" - }, - "status": "OK" - }, "schema": { "properties": { - "request_id": { - "description": "A unique identifier for this request.", + "error": { + "description": "A message describing the source of the error.", "type": "string" }, - "results": { - "properties": { - "active": { - "description": "Whether or not this contract was tradeable at the given point-in-time specified in the 'as_of' attribute (a contract was active if the given day was after the 'first_trade_date' and before the 'last_trade_date').", - "type": "boolean" - }, - "as_of": { - "description": "The point-in-time date for the given contract - e.g. if 'as_of' is set to 2021-04-25, then the data retrieved describes the contract(s) as of 2021-04-25.", - "format": "date", - "type": "string" - }, - "days_to_maturity": { - "description": "The number of days until this contract matures (since the point-in-time date). Note that the absence of this field means there are 0 days until maturity.", - "type": "integer" - }, - "first_trade_date": { - "description": "The date on which this contract first became tradeable.", - "format": "date", - "type": "string" - }, - "last_trade_date": { - "description": "The date on which this contract last became tradeable.", - "format": "date", - "type": "string" - }, - "maturity": { - "description": "This field provides the calendar month reflected in the instrument symbol. For futures spreads and options spreads, this field contains the first leg's calendar month reflected in the instrument symbol. For daily products, this tag contains the full calendar date (YYYYMMDD) as reflected in the instrument symbol.", - "type": "string" - }, - "max_order_quantity": { - "description": "The maximum order quantity for this contract.", - "type": "integer" - }, - "min_order_quantity": { - "description": "The minimum order quantity for this contract.", - "type": "integer" - }, - "name": { - "description": "The name of the contract.", - "type": "string" - }, - "product_code": { - "description": "The unique identifier for the product to which this contract belongs.", - "type": "string" - }, - "settlement_date": { - "description": "The final settlement date for the contract.", - "format": "date", - "type": "string" - }, - "settlement_tick_size": { - "description": "The settlement tick size for this contract.", - "type": "number" - }, - "spread_tick_size": { - "description": "The spread tick size for this contract.", - "type": "number" - }, - "ticker": { - "description": "The unique identifier for the contract, typically consisting of the product code and expiration date.", - "type": "string" - }, - "trade_tick_size": { - "description": "The tick size for this contract.", - "type": "number" - }, - "trading_venue": { - "description": "The trading venue (MIC) for the exchange on which this contract trades.", - "type": "string" - }, - "type": { - "description": "The type of contract, one of \"single\" or \"combo\".", - "type": "string" - } - }, - "required": [ - "ticker", - "product_code", - "date", - "trading_venue", - "type" - ], - "type": "object", - "x-polygon-go-type": { - "name": "Contract" - } + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" }, "status": { "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], "type": "string" } }, + "required": [ + "status", + "request_id", + "error" + ], "type": "object" } } }, - "description": "A single contract as it was at the given point-in-time." + "description": "An error message." } }, - "summary": "Contract Details", "tags": [ "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Reference data", - "name": "reference" - } + ] } }, - "/futures/vX/market-status": { + "/etf-global/v1/constituents": { "get": { - "description": "The market status endpoint returns the current status of the futures market for the given product code(s).", - "operationId": "GetFuturesMarketStatuses", + "description": "ETF Global constituents data containing detailed information about the securities held within ETFs, including weights, market values, and security identifiers.", + "operationId": "get_etf-global_v1_constituents", "parameters": [ { - "description": "The product code(s) to return market statuses for.\n\nMultiple product codes can be specified by separating them with a comma. Currently, the limit is 250 product codes.", + "description": "The stock ticker symbol of the ETF that holds these constituent securities.", "in": "query", - "name": "product_code.any_of", + "name": "composite_ticker", "schema": { - "example": "ES,CL", "type": "string" } }, { - "description": "The product code to return market statuses for.", + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", "in": "query", - "name": "product_code", + "name": "composite_ticker.any_of", "schema": { - "example": "ES", "type": "string" } }, { - "description": "The number of results to return per page (default=100, max=1000, min=1).", + "description": "Filter greater than the value.", "in": "query", - "name": "limit", + "name": "composite_ticker.gt", "schema": { - "default": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "Filter greater than or equal to the value.", "in": "query", - "name": "sort", + "name": "composite_ticker.gte", "schema": { - "default": "product_code.asc", - "enum": [ - "product_code.asc", - "product_code.desc" - ], - "example": "product_code.asc", "type": "string" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "properties": { - "next_url": { - "description": "If present, this value can be used to fetch the next page of data.", - "example": "https://api.polygon.io/futures/vX/products?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", - "type": "string" - }, - "request_id": { - "description": "A unique identifier for this request.", - "example": "ac0a1b0b-0b0b-4b0b-8b0b-0b0b0b0b0b0b", - "type": "string" - }, - "results": { - "items": { - "properties": { - "market_status": { - "description": "The current status of the market.", - "enum": [ - "pre_open", - "open", - "close", - "pause", - "post_close_pre_open" - ], - "example": "open", - "type": "string" - }, - "product_code": { - "description": "The product code for the product.", - "example": "ES", - "type": "string" - }, - "trading_venue": { - "description": "The trading venue (MIC) for the exchange on which the corresponding product trades.", - "example": "XNYM", - "type": "string" - } - }, - "required": [ - "market_status", - "product_code" - ], - "type": "object", - "x-polygon-go-type": { - "name": "MarketStatusesResult" - } - }, - "type": "array" - }, - "status": { - "description": "The status of this request's response.", - "example": "OK", - "type": "string" - }, - "timestamp": { - "description": "An RFC3339 timestamp representing the moment at which the market statuses were evaluated.", - "example": "2025-02-27T13:26:35.905149Z", - "format": "date-time", - "type": "string" - } - }, - "type": "object" - } - } - }, - "description": "A list of statuses for each product and market identifier code." - } - }, - "summary": "Market Status", - "tags": [ - "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Reference data", - "name": "reference" - } - } - }, - "/futures/vX/products": { - "get": { - "description": "The Products endpoint returns a list of futures products. This endpoint can be used to query for products based on a variety of parameters, including by the product's name, exchange, sector, sub-sector, asset class, asset sub-class, and type.", - "operationId": "GetFuturesProducts", - "parameters": [ + }, { - "description": "Search for products by Product Name. This parameter supports an exact match, while a name-contains search can be performed using the `name.search` parameter. Note that the search is case-sensitive.", + "description": "Filter less than the value.", "in": "query", - "name": "name", + "name": "composite_ticker.lt", "schema": { "type": "string" - }, - "x-polygon-filter-field": { - "search": true } }, { - "description": "A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about products for the specified day (default=today).", + "description": "Filter less than or equal to the value.", "in": "query", - "name": "as_of", + "name": "composite_ticker.lte", "schema": { - "format": "date", "type": "string" } }, { - "description": "The trading venue (MIC) for the exchange on which the products trades.", + "description": "The stock ticker symbol of the individual security held within the ETF.", "in": "query", - "name": "trading_venue", + "name": "constituent_ticker", "schema": { "type": "string" } }, { - "description": "The sector to which the products belong.", + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", "in": "query", - "name": "sector", + "name": "constituent_ticker.any_of", "schema": { - "enum": [ - "asia", - "base", - "biofuels", - "coal", - "cross_rates", - "crude_oil", - "custom_index", - "dairy", - "dj_ubs_ci", - "electricity", - "emissions", - "europe", - "fertilizer", - "forestry", - "grains_and_oilseeds", - "intl_index", - "liq_nat_gas_lng", - "livestock", - "long_term_gov", - "long_term_non_gov", - "majors", - "minors", - "nat_gas", - "nat_gas_liq_petro", - "precious", - "refined_products", - "s_and_p_gsci", - "sel_sector_index", - "short_term_gov", - "short_term_non_gov", - "softs", - "us", - "us_index", - "wet_bulk" - ], "type": "string" } }, { - "description": "The sub-sector to which the products belong.", + "description": "Filter greater than the value.", "in": "query", - "name": "sub_sector", + "name": "constituent_ticker.gt", "schema": { - "enum": [ - "asian", - "canadian", - "cat", - "cooling_degree_days", - "ercot", - "european", - "gulf", - "heating_degree_days", - "iso_ne", - "large_cap_index", - "mid_cap_index", - "miso", - "north_american", - "nyiso", - "pjm", - "small_cap_index", - "west", - "western_power" - ], "type": "string" } }, { - "description": "The asset class to which the products belong.", + "description": "Filter greater than or equal to the value.", "in": "query", - "name": "asset_class", + "name": "constituent_ticker.gte", "schema": { - "enum": [ - "alt_investment", - "commodity", - "financials" - ], "type": "string" } }, { - "description": "The asset sub-class to which the products belong.", + "description": "Filter less than the value.", "in": "query", - "name": "asset_sub_class", + "name": "constituent_ticker.lt", "schema": { - "enum": [ - "agricultural", - "commodity_index", - "energy", - "equity", - "foreign_exchange", - "freight", - "housing", - "interest_rate", - "metals", - "weather" - ], "type": "string" } }, { - "description": "The type of products to return. One of \"all\", \"single\", or \"combo\" (default=all).", + "description": "Filter less than or equal to the value.", "in": "query", - "name": "type", + "name": "constituent_ticker.lte", "schema": { - "default": "all", - "enum": [ - "all", - "single", - "combo" - ], "type": "string" } }, { - "description": "The number of results to return per page (default=100, maximum=1000, minimum=1).", + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "limit", + "name": "effective_date", "schema": { - "default": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string" } }, { - "description": "Search by name.", + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "name.search", + "name": "effective_date.gt", "schema": { "type": "string" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "sort", + "name": "effective_date.gte", "schema": { - "default": "name.asc", - "enum": [ - "name.asc", - "name.desc", - "trading_venue.asc", - "trading_venue.desc", - "sector.asc", - "sector.desc", - "sub_sector.asc", - "sub_sector.desc", - "asset_class.asc", - "asset_class.desc", - "asset_sub_class.asc", - "asset_sub_class.desc", - "type.asc", - "type.desc" - ], - "example": "name.asc", "type": "string" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "example": { - "next_url": "https://api.polygon.io/futures/vX/products?cursor=YXA9MTAwJmFzPSZhc19vZj0yMDI1LTA3LTA3JmxpbWl0PTEwMCZzb3J0PW5hbWUuYXNj", - "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", - "results": [ - { - "asset_class": "commodity", - "asset_sub_class": "energy", - "clearing_channel": "exchange_only", - "date": "2025-07-07", - "last_updated": "2025-02-22", - "name": "1% Fuel Oil Barges FOB Rdam (Platts) vs. 1% Fuel Oil Cargoes FOB NWE (Platts) BALMO Futures", - "price_quotation": "U.S. dollars and cents per metric ton", - "product_code": "EBE", - "sector": "refined_products", - "settlement_currency_code": "USD", - "settlement_method": "financially_settled", - "settlement_type": "cash", - "sub_sector": "european", - "trade_currency_code": "USD", - "trading_venue": "XNYM", - "type": "single", - "unit_of_measure": "MTONS", - "unit_of_measure_quantity": 1000 - }, + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The date showing when ETF Global received and processed the data. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "A unique identifier code for the constituent security in US markets.", + "in": "query", + "name": "us_code", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "us_code.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "us_code.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "us_code.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "us_code.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "us_code.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The International Securities Identification Number, a global standard for identifying securities.", + "in": "query", + "name": "isin", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "isin.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "isin.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "isin.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "isin.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "isin.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The Financial Instrument Global Identifier, an open standard for uniquely identifying financial instruments.", + "in": "query", + "name": "figi", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "figi.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "figi.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "figi.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "figi.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "figi.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The Stock Exchange Daily Official List code, primarily used for securities trading in the UK.", + "in": "query", + "name": "sedol", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "sedol.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "sedol.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "sedol.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "sedol.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "sedol.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '5000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 5001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'composite_ticker' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "composite_ticker.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "request_id": 1, + "results": [ { - "asset_class": "commodity", - "asset_sub_class": "energy", - "clearing_channel": "exchange_only", - "date": "2025-07-07", - "last_updated": "2025-06-25", - "name": "1% Fuel Oil Cargoes CIF MED (Platts) BALMO Futures", - "price_quotation": "U.S. dollars and cents per metric ton", - "product_code": "AOB", - "sector": "refined_products", - "settlement_currency_code": "USD", - "settlement_method": "financially_settled", - "settlement_type": "cash", - "sub_sector": "european", - "trade_currency_code": "USD", - "trading_venue": "XNYM", - "type": "single", - "unit_of_measure": "MTONS", - "unit_of_measure_quantity": 1000 + "asset_class": "Equity", + "composite_ticker": "SPY", + "constituent_name": "CAESARS ENTERTAINMENT INC COMMON STOCK", + "constituent_ticker": "CZR", + "country_of_exchange": "US", + "currency_traded": "USD", + "effective_date": "2025-09-18", + "figi": "BBG0074Q3NK6", + "isin": "US12769G1004", + "market_value": 63308625.6, + "processed_date": "2025-09-19", + "security_type": "Common Stock", + "sedol": "BMWWGB0", + "shares_held": 2398054, + "us_code": "12769G100", + "weight": 0.0000958005 } ], "status": "OK" @@ -10522,163 +10692,302 @@ "schema": { "properties": { "next_url": { - "description": "If present, this value can be used to fetch the next page of data.", + "description": "If present, this value can be used to fetch the next page.", "type": "string" }, "request_id": { - "description": "A unique identifier for this request.", + "description": "A request id assigned by the server.", "type": "string" }, "results": { + "description": "The results for this request.", "items": { "properties": { - "as_of": { - "description": "The point-in-time date for the given product - e.g. if 'as_of' is set to 2024-11-05, then these were the details for this product on that day.", - "format": "date", - "type": "string" - }, "asset_class": { - "description": "The asset class to which the product belongs.", + "description": "The broad category of asset type, such as Equity, Corporate Bond, Municipal Bond, etc.", "type": "string" }, - "asset_sub_class": { - "description": "The asset sub-class to which the product belongs.", + "composite_ticker": { + "description": "The stock ticker symbol of the ETF that holds these constituent securities.", "type": "string" }, - "clearing_channel": { - "description": "The clearing channel for this product. Indicates whether the product can be cleared only through exchanges or through both exchanges and over-the-counter.", - "enum": [ - "exchange_only", - "exchange_and_otc" - ], + "constituent_name": { + "description": "The full company or security name of the constituent holding.", "type": "string" }, - "last_updated": { - "description": "The date and time at which this product was last updated.", - "format": "date-time", + "constituent_ticker": { + "description": "The stock ticker symbol of the individual security held within the ETF.", "type": "string" }, - "name": { - "description": "The full name of the product.", + "country_of_exchange": { + "description": "The country where the exchange that lists this constituent security is located.", "type": "string" }, - "price_quotation": { - "description": "The quoted price for this product.", + "currency_traded": { + "description": "The local currency in which this constituent security is denominated and traded.", "type": "string" }, - "product_code": { - "description": "The unique identifier for the product.", + "effective_date": { + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date.", + "format": "date", "type": "string" }, - "sector": { - "description": "The sector to which the product belongs.", + "exchange": { + "description": "The name of the stock exchange where this constituent security is primarily traded.", "type": "string" }, - "settlement_currency_code": { - "description": "The currency in which this product settles.", + "figi": { + "description": "The Financial Instrument Global Identifier, an open standard for uniquely identifying financial instruments.", "type": "string" }, - "settlement_method": { - "description": "The method of settlement for this product (Financially Settled or Deliverable).", + "isin": { + "description": "The International Securities Identification Number, a global standard for identifying securities.", "type": "string" }, - "settlement_type": { - "description": "The type of settlement for this product.", - "type": "string" + "market_value": { + "description": "The total market value of this constituent position held by the ETF.", + "format": "double", + "type": "number" }, - "sub_sector": { - "description": "The sub-sector to which the product belongs.", + "processed_date": { + "description": "The date showing when ETF Global received and processed the data.", + "format": "date", "type": "string" }, - "trade_currency_code": { - "description": "The currency in which this product trades.", + "security_type": { + "description": "The specific classification of security type using ETF Global's taxonomy, such as Common Equity, Domestic, Global, etc.", "type": "string" }, - "trading_venue": { - "description": "The trading venue (MIC) for the exchange on which this contract trades.", + "sedol": { + "description": "The Stock Exchange Daily Official List code, primarily used for securities trading in the UK.", "type": "string" }, - "type": { - "description": "The type of product, one of \"single\" or \"combo\".", - "type": "string" + "shares_held": { + "description": "The number of shares of this constituent security that the ETF currently owns.", + "format": "double", + "type": "number" }, - "unit_of_measure": { - "description": "The unit of measure for this product.", + "us_code": { + "description": "A unique identifier code for the constituent security in US markets.", "type": "string" }, - "unit_of_measure_quantity": { - "description": "The quantity of the unit of measure for this product.", + "weight": { + "description": "The percentage weight of this constituent security within the ETF's total portfolio.", + "format": "double", "type": "number" } }, - "required": [ - "product_code", - "date" - ], - "type": "object", - "x-polygon-go-type": { - "name": "Product" - } + "type": "object" }, "type": "array" }, "status": { "description": "The status of this request's response.", - "example": "OK", + "enum": [ + "OK" + ], "type": "string" } }, + "required": [ + "status", + "request_id", + "results" + ], "type": "object" } } }, - "description": "A list of products which match all of the query parameters." + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." } }, - "summary": "Products", "tags": [ "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Reference data", - "name": "reference" - } + ] } }, - "/futures/vX/products/{product_code}": { + "/etf-global/v1/fund-flows": { "get": { - "description": "The Product Details endpoint returns the details for a single product as of a specific day.", - "operationId": "GetFuturesProductDetails", + "description": "ETF Global fund flow data containing information about ETF share movements, net asset values, and fund flow metrics.", + "operationId": "get_etf-global_v1_fund-flows", "parameters": [ { - "description": "The unique identifier for a product.", - "example": "ES", - "in": "path", - "name": "product_code", - "required": true, + "description": "The date showing when ETF Global received and processed the data. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date", "schema": { "type": "string" } }, { - "description": "The type of product to return. One of \"single\" or \"combo\" (default=single).", + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "type", + "name": "processed_date.gt", "schema": { - "default": "single", - "enum": [ - "single", - "combo" - ], "type": "string" } }, { - "description": "A date string in the format YYYY-MM-DD. Note that the data returned is the state of this product's data at that point-in-time.", + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "as_of", + "name": "processed_date.gte", "schema": { - "format": "date", + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The stock ticker symbol used to identify this ETF on exchanges.", + "in": "query", + "name": "composite_ticker", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "composite_ticker.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "composite_ticker.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "composite_ticker.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "composite_ticker.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "composite_ticker.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '5000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 5001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'composite_ticker' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "composite_ticker.asc", "type": "string" } } @@ -10688,232 +10997,291 @@ "content": { "application/json": { "example": { - "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", - "results": { - "asset_class": "financials", - "asset_sub_class": "equity", - "clearing_channel": "exchange_only", - "date": "2025-07-07", - "last_updated": "2025-07-04", - "name": "E-mini S&P 500 Futures", - "price_quotation": "U.S. dollars and cents per index point", - "product_code": "ES", - "sector": "us_index", - "settlement_currency_code": "USD", - "settlement_method": "financially_settled", - "settlement_type": "cash", - "sub_sector": "small_cap_index", - "trade_currency_code": "USD", - "trading_venue": "XCME", - "type": "single", - "unit_of_measure": "IPNT", - "unit_of_measure_quantity": 50 - }, + "count": 1, + "request_id": 1, + "results": [ + { + "composite_ticker": "SPY", + "effective_date": "2025-01-29", + "fund_flow": -30235124.7, + "nav": 601.877341, + "processed_date": "2025-01-29", + "shares_outstanding": 1047232116 + }, + { + "composite_ticker": "SPY", + "effective_date": "2025-01-30", + "fund_flow": -2798729635.65, + "nav": 605.0574, + "processed_date": "2025-01-30", + "shares_outstanding": 1042582116 + }, + { + "composite_ticker": "SPY", + "effective_date": "2025-01-31", + "fund_flow": -3358068570, + "nav": 602.044248, + "processed_date": "2025-01-31", + "shares_outstanding": 1037032116 + } + ], "status": "OK" }, "schema": { "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, "request_id": { - "description": "A unique identifier for this request.", + "description": "A request id assigned by the server.", "type": "string" }, "results": { - "properties": { - "as_of": { - "description": "The point-in-time date for the given product - e.g. if 'as_of' is set to 2024-11-05, then these were the details for this product on that day.", - "format": "date", - "type": "string" - }, - "asset_class": { - "description": "The asset class to which the product belongs.", - "type": "string" - }, - "asset_sub_class": { - "description": "The asset sub-class to which the product belongs.", - "type": "string" - }, - "clearing_channel": { - "description": "The clearing channel for this product. Indicates whether the product can be cleared only through exchanges or through both exchanges and over-the-counter.", - "enum": [ - "exchange_only", - "exchange_and_otc" - ], - "type": "string" - }, - "last_updated": { - "description": "The date and time at which this product was last updated.", - "format": "date-time", - "type": "string" - }, - "name": { - "description": "The full name of the product.", - "type": "string" - }, - "price_quotation": { - "description": "The quoted price for this product.", - "type": "string" - }, - "product_code": { - "description": "The unique identifier for the product.", - "type": "string" - }, - "sector": { - "description": "The sector to which the product belongs.", - "type": "string" - }, - "settlement_currency_code": { - "description": "The currency in which this product settles.", - "type": "string" - }, - "settlement_method": { - "description": "The method of settlement for this product (Financially Settled or Deliverable).", - "type": "string" - }, - "settlement_type": { - "description": "The type of settlement for this product.", - "type": "string" - }, - "sub_sector": { - "description": "The sub-sector to which the product belongs.", - "type": "string" - }, - "trade_currency_code": { - "description": "The currency in which this product trades.", - "type": "string" - }, - "trading_venue": { - "description": "The trading venue (MIC) for the exchange on which this contract trades.", - "type": "string" - }, - "type": { - "description": "The type of product, one of \"single\" or \"combo\".", - "type": "string" - }, - "unit_of_measure": { - "description": "The unit of measure for this product.", - "type": "string" + "description": "The results for this request.", + "items": { + "properties": { + "composite_ticker": { + "description": "The stock ticker symbol used to identify this ETF on exchanges.", + "type": "string" + }, + "effective_date": { + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date.", + "format": "date", + "type": "string" + }, + "fund_flow": { + "description": "The net daily capital flow into or out of the ETF through the creation and redemption process, where positive values indicate inflows and negative values indicate outflows.", + "format": "double", + "type": "number" + }, + "nav": { + "description": "The net asset value per share, representing the per-share value of the ETF's underlying holdings.", + "format": "double", + "type": "number" + }, + "processed_date": { + "description": "The date showing when ETF Global received and processed the data.", + "format": "date", + "type": "string" + }, + "shares_outstanding": { + "description": "The total number of ETF shares currently issued and outstanding in the market.", + "format": "double", + "type": "number" + } }, - "unit_of_measure_quantity": { - "description": "The quantity of the unit of measure for this product.", - "type": "number" - } + "type": "object" }, - "required": [ - "product_code", - "date" + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" ], - "type": "object", - "x-polygon-go-type": { - "name": "Product" - } + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" }, "status": { "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], "type": "string" } }, + "required": [ + "status", + "request_id", + "error" + ], "type": "object" } } }, - "description": "A single Product as it was at the given point-in-time." + "description": "An error message." } }, - "summary": "Product Details", "tags": [ "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Reference data", - "name": "reference" - } + ] } }, - "/futures/vX/products/{product_code}/schedules": { + "/etf-global/v1/profiles": { "get": { - "description": "The Product-Specific Futures Schedules API provides detailed trading schedules for a specific futures product. This API allows you to query schedules for a single product across a range of dates. Users can access comprehensive information about trading sessions, including market events such as preopen, open, and closed, along with their precise timestamps.", - "operationId": "GetFuturesProductSchedules", + "description": "ETF Global industry profile data containing comprehensive ETF metadata including financial metrics, operational details, and exposure information.", + "operationId": "get_etf-global_v1_profiles", "parameters": [ { - "description": "The product code for the futures product.", - "example": "ES", - "in": "path", - "name": "product_code", - "required": true, + "description": "The date showing when ETF Global received and processed the data. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date", "schema": { "type": "string" } }, { - "description": "The date on which the schedule's trading day ended (sometimes referred to as trading date). Defaults to today. Formatted as `YYYY-MM-DD`. Note that although there is no time component the day is assumed to be that day in Central Time.", + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "session_end_date", + "name": "processed_date.gt", "schema": { - "format": "date", "type": "string" - }, - "x-polygon-filter-field": { - "range": true } }, { - "description": "The number of results to return per page (default=100, max=1000, min=1).", + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "limit", + "name": "processed_date.gte", "schema": { - "default": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string" } }, { - "description": "Range by session_end_date.", + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "session_end_date.gte", + "name": "processed_date.lt", "schema": { - "format": "date", "type": "string" } }, { - "description": "Range by session_end_date.", + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "session_end_date.gt", + "name": "processed_date.lte", "schema": { - "format": "date", "type": "string" } }, { - "description": "Range by session_end_date.", + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "session_end_date.lte", + "name": "effective_date", "schema": { - "format": "date", "type": "string" } }, { - "description": "Range by session_end_date.", + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", "in": "query", - "name": "session_end_date.lt", + "name": "effective_date.gt", "schema": { - "format": "date", "type": "string" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The stock ticker symbol used to identify this ETF product on exchanges.", + "in": "query", + "name": "composite_ticker", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "composite_ticker.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "composite_ticker.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "composite_ticker.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "composite_ticker.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "composite_ticker.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '5000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 5001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'composite_ticker' if not specified. The sort order defaults to 'asc' if not specified.", "in": "query", "name": "sort", "schema": { - "default": "session_end_date.desc", - "enum": [ - "session_end_date.asc", - "session_end_date.desc" - ], - "example": "session_end_date.desc", + "default": "composite_ticker.asc", "type": "string" } } @@ -10923,719 +11291,8895 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/futures/vX/products/ES/schedules?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", - "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "count": 1, + "request_id": 1, "results": [ { - "example": "E-Mini S&P 500 Futures", - "product_code": "ES", - "product_name": "E-Mini S&P 500 Futures", - "schedule": [ - { - "event": "pre_open", - "timestamp": "2025-11-24T18:45:00:00-06:00" - }, - { - "event": "open", - "timestamp": "2025-11-24T19:00:00-06:00" - }, - { - "event": "close", - "timestamp": "2025-11-25T18:00:00-06:00" - } - ], - "session_end_date": "2025-11-24", - "trading_venue": "XNYM" - }, - { - "product_code": "ES", - "product_name": "E-Mini S&P 500 Futures", - "schedule": [ - { - "event": "pre_open", - "timestamp": "2025-11-24T18:45:00:00-06:00" - }, - { - "event": "open", - "timestamp": "2025-11-24T19:00:00-06:00" - }, - { - "event": "close", - "timestamp": "2025-11-25T18:00:00-06:00" - } - ], - "session_end_date": "2025-11-21", - "trading_venue": "XNYM" + "administrator": "State Street Bank and Trust Company", + "advisor": "SSgA Funds Management, Inc.", + "asset_class": "Equity", + "aum": 624531939442.66, + "avg_daily_trading_volume": 51287737.3, + "bid_ask_spread": 0.000042, + "call_volume": 4797339, + "category": "Size and Style", + "composite_ticker": "SPY", + "creation_fee": 3000, + "creation_unit_size": 50000, + "currency_exposure": { + "usd": 1.003 + }, + "custodian": "State Street Bank and Trust Company", + "description": "SPDR S&P 500 ETF Trust", + "development_class": "Developed Markets", + "discount_premium": 0.136123, + "distribution_frequency": "Q", + "distributor": "ALPS Distributors, Inc.", + "effective_date": "2025-01-02", + "fee_waivers": 0, + "fiscal_year_end": "31-Aug", + "focus": "Large Cap", + "geographic_exposure": { + "bm": 0.001, + "ch": 0.003, + "ie": 0.021, + "je": 0.001, + "lr": 0.001, + "nl": 0.001, + "pa": 0.001, + "us": 0.967 + }, + "inception_date": "1993-01-22", + "industry_exposure": { + "aerospace_and_defense": 0.011, + "air_freight_and_logistics": 0.004, + "airlines": 0.002, + "auto_components": 0, + "automobiles": 0.024, + "banks": 0.033, + "beverages": 0.011, + "biotechnology": 0.047, + "building_products": 0.002, + "capital_markets": 0.029, + "cash_or_derivatives": 0.003, + "chemicals": 0.007, + "commercial_services_and_supplies": 0.004, + "communications_equipment": 0.081, + "construction_and_engineering": 0.001, + "construction_materials": 0.001, + "consumer_products": 0.001, + "containers_and_packaging": 0.001, + "distributors": 0.001, + "diversified_consumer_services": 0.005, + "diversified_financial_services": 0.029, + "diversified_telecommunication_services": 0.009, + "electrical_equipment": 0.009, + "electronic_equipment_instruments_and_components": 0.001, + "entertainment": 0.008, + "equity_real_estate_investment": 0.001, + "food_products": 0.006, + "health_care_equipment_and_supplies": 0.031, + "health_care_providers_and_services": 0.018, + "health_care_technology": 0.003, + "hotels,_restaurants_and_leisure": 0.001, + "hotels_restaurants_and_leisure": 0.014, + "household_durables": 0.004, + "household_products": 0.011, + "industrial_conglomerates": 0.005, + "insurance": 0.035, + "it_services": 0.021, + "leisure_products": 0, + "machinery": 0.013, + "media": 0.077, + "metals_and_mining": 0.003, + "oil_gas_and_consumable_fuels": 0.031, + "real_estate_management_and_development": 0.018, + "renewable_energy": 0.001, + "road_and_rail": 0.003, + "semiconductors_and_semiconductor_equipment": 0.115, + "software": 0.101, + "specialty_retail": 0.082, + "technology_hardware_storage_and_peripherals": 0.001, + "textiles_apparel_and_luxury_goods": 0.003, + "tobacco": 0.006, + "trading_companies_and_distributors": 0.002, + "transportation_infrastructure": 0.006, + "utilities": 0.022 + }, + "industry_group_exposure": { + "automobiles_and_components": 0.024, + "banks": 0.033, + "capital_goods": 0.045, + "cash_or_derivatives": 0.003, + "commercial_and_professional_services": 0.005, + "consumer_durables_and_apparel": 0.007, + "consumer_services": 0.02, + "diversified_financials": 0.058, + "energy": 0.032, + "food_and_staples_retailing": 0.018, + "food_beverage_and_tobacco": 0.023, + "health_care_equipment_and_services": 0.046, + "household_and_personal_products": 0.011, + "insurance": 0.035, + "materials": 0.013, + "media_and_entertainment": 0.084, + "pharmaceuticals_biotechnology_and_life_sciences": 0.053, + "real_estate": 0.02, + "retailing": 0.065, + "semiconductors_and_semiconductor_equipment": 0.115, + "software_and_services": 0.12, + "technology_hardware_and_equipment": 0.084, + "telecommunication_services": 0.009, + "transportation": 0.002, + "transportation_and_logistics": 0.012, + "utilities": 0.022 + }, + "issuer": "SSgA", + "lead_market_maker": "None", + "leverage_style": "unleveraged", + "levered_amount": 0, + "listing_exchange": "NYSE Arca, Inc.", + "management_classification": "passive", + "management_fee": 0.0945, + "net_expenses": 0.0945, + "num_holdings": 504, + "options_available": 1, + "options_volume": 9346839, + "other_expenses": 0, + "primary_benchmark": "S&P 500 Index", + "processed_date": "2025-01-02", + "product_type": "etf", + "put_call_ratio": 0.948338, + "put_volume": 4549500, + "region": "North America", + "sector_exposure": { + "cash_or_derivatives": 0.003, + "communications": 0.094, + "consumer_discretionary": 0.113, + "consumer_staples": 0.054, + "energy": 0.032, + "financials": 0.131, + "health_care": 0.099, + "industrials": 0.068, + "materials": 0.013, + "real_estate": 0.02, + "technology": 0.321, + "utilities": 0.022 + }, + "short_interest": 106750000, + "subindustry_exposure": { + "advertising": 0.001, + "aerospace_and_defense": 0.011, + "agricultural_and_farm_machinery": 0.002, + "agricultural_products": 0.001, + "air_freight_and_logistics": 0.004, + "airlines": 0.002, + "alternative_carriers": 0.009, + "apparel_accessories_and_luxury": 0.003, + "apparel_retail": 0.005, + "application_software": 0.024, + "asset_management_and_custody_banks": 0.006, + "auto_parts_and_equipment": 0, + "automobile_manufacturers": 0.024, + "automotive_retail": 0.004, + "biotechnology": 0.047, + "brewers": 0, + "building_products": 0.002, + "cable_and_satellite": 0.004, + "cash_or_derivatives": 0.003, + "casinos_and_gaming": 0.001, + "commodity_chemicals": 0.001, + "communications_equipment": 0.081, + "construction_and_engineering": 0.001, + "construction_machinery_and_heavy_trucks": 0.006, + "construction_materials": 0.001, + "consumer_electronics": 0.001, + "consumer_finance": 0.029, + "data_processing_and_outsourced_services": 0.006, + "distillers_and_vintners": 0.001, + "distributors": 0, + "diversified_banks": 0.033, + "diversified_chemicals": 0.002, + "diversified_metals_and_mining": 0.001, + "diversified_support_services": 0.001, + "drug_retail": 0, + "electric_utilities": 0.013, + "electrical_components_and_equipment": 0.009, + "electronic_components": 0.001, + "electronic_equipment_and_instruments": 0, + "electronic_manufacturing_services": 0, + "environmental_and_facilities_services": 0.003, + "fertilizers_and_agricultural_che": 0.001, + "financial_exchanges_and_data": 0.006, + "food_retail": 0.002, + "gas_utilities": 0, + "general_merchandise_stores": 0.002, + "health_care_distributors": 0.003, + "health_care_equipment": 0.014, + "health_care_facilities": 0.001, + "health_care_services": 0.004, + "health_care_supplies": 0.003, + "heavy_electrical_equipment": 0.001, + "highways_and_railtracks": 0.005, + "home_improvement_retail": 0.012, + "homebuilding": 0.002, + "hotels_resorts_and_cruise_lines": 0.004, + "household_products": 0.011, + "hypermarkets_and_super_centers": 0.016, + "independent_power_producers_and_energy_traders": 0.001, + "industrial_conglomerates": 0.005, + "industrial_machinery": 0.005, + "insurance_brokers": 0.005, + "integrated_oil_and_gas": 0.014, + "interactive_media_and_services": 0.067, + "internet_and_direct_marketing_retail": 0.043, + "internet_services_and_infrastruc": 0.004, + "investment_banking_and_brokerage": 0.01, + "it_consulting_and_other_services": 0.011, + "leisure_facilities": 0, + "leisure_products": 0.001, + "life_and_health_insurance": 0.003, + "life_sciences_tools_and_services": 0.014, + "managed_health_care": 0.013, + "metal_and_glass_containers": 0.001, + "movies_and_entertainment": 0.012, + "multiutilities": 0.006, + "oil_and_gas_equipment_and_services": 0.002, + "oil_and_gas_exploration_and_production": 0.007, + "oil_and_gas_refining_and_marketing": 0.003, + "oil_and_gas_storage_and_transporta": 0.004, + "packaged_foods_and_meats": 0.006, + "paper_packaging": 0.001, + "precious_metals_and_minerals": 0.001, + "property_and_casualty_insurance": 0.027, + "publishing_and_broadcasting": 0, + "railroads": 0.001, + "real_estate_services": 0.001, + "reinsurance": 0, + "reit": 0.019, + "renewable_energy_equipment": 0.001, + "research_and_consulting_services": 0.002, + "restaurants": 0.009, + "security_and_alarm_services": 0.004, + "semiconductors": 0.115, + "soft_drinks": 0.01, + "specialty_chemicals": 0.004, + "specialty_stores": 0.001, + "steel": 0.001, + "systems_software": 0.078, + "technology_hardware_storage_and_peripherals": 0.002, + "tobacco": 0.006, + "trading_companies_and_distributors": 0.002, + "trucking": 0.004, + "water_utilities": 0 + }, + "tax_classification": "Regulated Investment Company", + "total_expenses": 0.0945, + "transfer_agent": "State Street Bank and Trust Company", + "trustee": "State Street Global Advisors Trust Company" } ], "status": "OK" }, "schema": { "properties": { - "error": { - "description": "An optional error message for failed requests when available.", - "type": "string" - }, "next_url": { - "description": "If present, this value can be used to fetch the next page of data.", + "description": "If present, this value can be used to fetch the next page.", "type": "string" }, "request_id": { - "description": "The unique identifier for the request.", + "description": "A request id assigned by the server.", "type": "string" }, "results": { - "description": "The list of schedules for the specified product.", + "description": "The results for this request.", "items": { "properties": { - "product_code": { - "description": "The product code for the futures product to which this schedule applies.", + "administrator": { + "description": "The administrator of the ETF.", "type": "string" }, - "product_name": { - "description": "The name of the futures product to which this schedule applies.", + "advisor": { + "description": "The investment advisor of the ETF.", "type": "string" }, - "schedule": { + "asset_class": { + "description": "The primary type of assets held by the ETF, such as equities, bonds, commodities, or other securities.", + "type": "string" + }, + "aum": { + "description": "The total assets under management, representing the current market value of all assets held by the ETF.", + "format": "double", + "type": "number" + }, + "avg_daily_trading_volume": { + "description": "The average number of shares traded daily over the past month, indicating liquidity and investor interest.", + "format": "double", + "type": "number" + }, + "bid_ask_spread": { + "description": "The average intraday bid-ask spread as a percentage, calculated by dividing the spread by the lowest ask price sampled during the day.", + "format": "double", + "type": "number" + }, + "call_volume": { + "description": "Call options volume.", + "format": "double", + "type": "number" + }, + "category": { + "description": "The broad investment category that describes the ETF's investment focus and strategy.", + "type": "string" + }, + "composite_ticker": { + "description": "The stock ticker symbol used to identify this ETF product on exchanges.", + "type": "string" + }, + "coupon_exposure": { + "description": "Coupon exposure breakdown for fixed income ETFs.", "items": { "properties": { - "event": { - "description": "The market event for this schedule.", - "enum": [ - "pre_open", - "open", - "close", - "pause", - "post_close_pre_open" - ], + "key": { "type": "string" }, - "timestamp": { - "description": "The timestamp for this market event in Central Time.", - "format": "time", + "value": { + "format": "double", + "type": "number" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "creation_fee": { + "description": "The fee for creating new shares of the ETF.", + "format": "double", + "type": "number" + }, + "creation_unit_size": { + "description": "The size of creation units for the ETF.", + "format": "double", + "type": "number" + }, + "currency_exposure": { + "description": "Currency exposure breakdown of the ETF.", + "items": { + "properties": { + "key": { "type": "string" + }, + "value": { + "format": "double", + "type": "number" } }, + "required": [ + "key", + "value" + ], "type": "object" }, "type": "array" }, - "session_end_date": { - "description": "The date on which the schedule's trading day ended (sometimes referred to as trading date) formatted as `YYYY-MM-DD`. Note that although there is no time component on this attribute, the day refers to Central Time.", + "custodian": { + "description": "The custodian of the ETF assets.", + "type": "string" + }, + "description": { + "description": "The official name and description of the ETF product.", + "type": "string" + }, + "development_class": { + "description": "The economic development classification of the markets the ETF invests in, such as developed, emerging, or frontier markets.", + "type": "string" + }, + "discount_premium": { + "description": "Discount or premium to net asset value.", + "format": "double", + "type": "number" + }, + "distribution_frequency": { + "description": "How frequently the ETF makes distributions.", + "type": "string" + }, + "distributor": { + "description": "The distributor of the ETF.", + "type": "string" + }, + "effective_date": { + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date.", "format": "date", "type": "string" }, - "trading_venue": { - "description": "The trading venue (MIC) for the exchange on which this schedule's product trades.", + "fee_waivers": { + "description": "Any fee waivers applied to the ETF.", + "format": "double", + "type": "number" + }, + "fiscal_year_end": { + "description": "The fiscal year end date for the ETF.", "type": "string" - } - }, - "type": "object", - "x-polygon-go-type": { - "name": "SchedulesResult" - } - }, - "type": "array" - }, - "status": { - "description": "The status of the response.", - "type": "string" - } - }, - "type": "object" - } - } - }, - "description": "A list of schedules for each product." - } - }, - "summary": "Product Schedules", - "tags": [ - "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Reference data", - "name": "reference" - } - } - }, - "/futures/vX/quotes/{ticker}": { - "get": { - "description": "Get quotes for a contract in a given time range.", - "operationId": "GetFuturesQuotes", - "parameters": [ + }, + "focus": { + "description": "The specific investment focus or exposure that the ETF provides, such as sector, geography, or investment style.", + "type": "string" + }, + "futures_commission_merchant": { + "description": "The futures commission merchant, if applicable.", + "type": "string" + }, + "geographic_exposure": { + "description": "Geographic exposure breakdown of the ETF.", + "items": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "format": "double", + "type": "number" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "inception_date": { + "description": "The date when this ETF was first launched and became available for trading.", + "format": "date", + "type": "string" + }, + "industry_exposure": { + "description": "Industry exposure breakdown of the ETF.", + "items": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "format": "double", + "type": "number" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "industry_group_exposure": { + "description": "Industry group exposure breakdown of the ETF.", + "items": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "format": "double", + "type": "number" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "issuer": { + "description": "The financial institution or fund company that created and sponsors this ETF.", + "type": "string" + }, + "lead_market_maker": { + "description": "The lead market maker for the ETF.", + "type": "string" + }, + "leverage_style": { + "description": "Indicates whether the ETF uses leverage to amplify returns ('leveraged'), or does not use leverage ('unleveraged').", + "type": "string" + }, + "levered_amount": { + "description": "The leverage multiplier applied by the ETF, where positive numbers indicate leveraged exposure and negative numbers indicate inverse exposure.", + "format": "double", + "type": "number" + }, + "listing_exchange": { + "description": "The primary exchange where the ETF is listed.", + "type": "string" + }, + "management_classification": { + "description": "Defines whether an ETF is considered active under SEC rules, with managers making investment decisions, or passive, tracking an index.", + "type": "string" + }, + "management_fee": { + "description": "The annual fee charged by the fund manager for managing the ETF's portfolio and operations.", + "format": "double", + "type": "number" + }, + "maturity_exposure": { + "description": "Maturity exposure breakdown for fixed income ETFs.", + "items": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "format": "double", + "type": "number" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "net_expenses": { + "description": "Net expenses after waivers.", + "format": "double", + "type": "number" + }, + "num_holdings": { + "description": "Number of holdings in the ETF.", + "format": "double", + "type": "number" + }, + "options_available": { + "description": "Availability of options on the ETF.", + "format": "int32", + "type": "integer" + }, + "options_volume": { + "description": "Options trading volume for the ETF.", + "format": "double", + "type": "number" + }, + "other_expenses": { + "description": "Other expenses charged by the ETF.", + "format": "double", + "type": "number" + }, + "portfolio_manager": { + "description": "The portfolio manager of the ETF.", + "type": "string" + }, + "primary_benchmark": { + "description": "The main index or benchmark that this ETF is designed to track or replicate.", + "type": "string" + }, + "processed_date": { + "description": "The date showing when ETF Global received and processed the data.", + "format": "date", + "type": "string" + }, + "product_type": { + "description": "Indicates whether the product is an Exchange-Traded Note ('etn') or an Exchange-Traded Fund ('etf').", + "type": "string" + }, + "put_call_ratio": { + "description": "Put/call ratio for options on the ETF.", + "format": "double", + "type": "number" + }, + "put_volume": { + "description": "Put options volume.", + "format": "double", + "type": "number" + }, + "region": { + "description": "The geographic region or area of the world where the ETF concentrates its investments.", + "type": "string" + }, + "sector_exposure": { + "description": "Sector exposure breakdown of the ETF.", + "items": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "format": "double", + "type": "number" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "short_interest": { + "description": "Short interest in the ETF.", + "format": "double", + "type": "number" + }, + "subadvisor": { + "description": "The subadvisor of the ETF, if applicable.", + "type": "string" + }, + "subindustry_exposure": { + "description": "Sub-industry exposure breakdown of the ETF.", + "items": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "format": "double", + "type": "number" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "tax_classification": { + "description": "The tax structure of the ETF, determining whether investors receive 1099 or K1 tax forms (RIC, Partnership, or UIT).", + "type": "string" + }, + "total_expenses": { + "description": "The total annual expense ratio of the ETF, including all fees and costs passed on to investors.", + "format": "double", + "type": "number" + }, + "transfer_agent": { + "description": "The transfer agent for the ETF.", + "type": "string" + }, + "trustee": { + "description": "The trustee of the ETF.", + "type": "string" + } + }, + "required": [ + "product_type", + "leverage_style", + "management_classification" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/etf-global/v1/taxonomies": { + "get": { + "description": "ETF Global taxonomy data containing detailed classification and categorization information for ETFs including investment strategy, methodology, and structural characteristics.", + "operationId": "get_etf-global_v1_taxonomies", + "parameters": [ + { + "description": "The date showing when ETF Global received and processed the data. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "processed_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "effective_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The stock ticker symbol used to identify this ETF product on exchanges.", + "in": "query", + "name": "composite_ticker", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "composite_ticker.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "composite_ticker.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "composite_ticker.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "composite_ticker.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "composite_ticker.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '5000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 5001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'composite_ticker' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "composite_ticker.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "request_id": 1, + "results": [ + { + "asset_class": "Equity", + "category": "Size and Style", + "composite_ticker": "SPY", + "country": "U.S.", + "description": "SPDR S&P 500 ETF Trust", + "development_class": "Developed Markets", + "effective_date": "2025-09-19", + "exposure_mechanism": "Blended Replication", + "factor": "Size", + "focus": "Large Cap", + "holdings_disclosure_frequency": "Daily", + "inception_date": "1993-01-22", + "isin": "US78462F1030", + "issuer": "SSgA", + "leverage_style": "unleveraged", + "levered_amount": 0, + "management_classification": "passive", + "management_style": "Passive - Representative Sampling", + "objective": "Index-Tracking", + "primary_benchmark": "S&P 500 Index", + "processed_date": "2025-09-19", + "product_type": "etf", + "rebalance_frequency": "Quarterly", + "reconstitution_frequency": "Quarterly", + "region": "North America", + "selection_methodology": "Modified Market Cap, Fundamental Multifactor, Liquidity", + "selection_universe": "U.S. Large Caps", + "strategic_focus": "Factor", + "targeted_focus": "Size", + "tax_classification": "Regulated Investment Company", + "us_code": "78462F103", + "weighting_methodology": "Modified Market Capitalization-Weighted" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "asset_class": { + "description": "The primary type of assets held by the ETF, such as equities, bonds, commodities, or other securities.", + "type": "string" + }, + "category": { + "description": "The broad investment category that describes the ETF's investment focus and strategy.", + "type": "string" + }, + "composite_ticker": { + "description": "The stock ticker symbol used to identify this ETF product on exchanges.", + "type": "string" + }, + "country": { + "description": "The specific country focus of the ETF, if applicable.", + "type": "string" + }, + "credit_quality_rating": { + "description": "Credit quality rating for fixed income ETFs.", + "type": "string" + }, + "description": { + "description": "The official name and description of the ETF product.", + "type": "string" + }, + "development_class": { + "description": "The economic development classification of the markets the ETF invests in, such as developed, emerging, or frontier markets.", + "type": "string" + }, + "duration": { + "description": "The duration characteristics for fixed income ETFs.", + "type": "string" + }, + "effective_date": { + "description": "The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date.", + "format": "date", + "type": "string" + }, + "esg": { + "description": "Environmental, Social, and Governance characteristics.", + "type": "string" + }, + "exposure_mechanism": { + "description": "The mechanism used to achieve exposure.", + "type": "string" + }, + "factor": { + "description": "Factor exposure characteristics of the ETF.", + "type": "string" + }, + "focus": { + "description": "The specific investment focus or exposure that the ETF provides, such as sector, geography, or investment style.", + "type": "string" + }, + "hedge_reset": { + "description": "The frequency of hedge reset, if applicable.", + "type": "string" + }, + "holdings_disclosure_frequency": { + "description": "How frequently holdings are disclosed.", + "type": "string" + }, + "inception_date": { + "description": "The date when this ETF was first launched and became available for trading.", + "format": "date", + "type": "string" + }, + "isin": { + "description": "The International Securities Identification Number, a global standard code for uniquely identifying this ETF worldwide.", + "type": "string" + }, + "issuer": { + "description": "The financial institution or fund company that created and sponsors this ETF.", + "type": "string" + }, + "leverage_reset": { + "description": "The frequency of leverage reset, if applicable.", + "type": "string" + }, + "leverage_style": { + "description": "Indicates whether the ETF uses leverage to amplify returns ('leveraged'), or does not use leverage ('unleveraged').", + "type": "string" + }, + "levered_amount": { + "description": "The leverage multiplier applied by the ETF, where positive numbers indicate leveraged exposure and negative numbers indicate inverse exposure.", + "format": "double", + "type": "number" + }, + "management_classification": { + "description": "Defines whether an ETF is considered active under SEC rules, with managers making investment decisions, or passive, tracking an index.", + "type": "string" + }, + "management_style": { + "description": "Indicates whether an ETF is managed actively or passively, and the level of transparency or replication method used.", + "type": "string" + }, + "maturity": { + "description": "The maturity profile for fixed income ETFs.", + "type": "string" + }, + "objective": { + "description": "The primary investment objective of the ETF.", + "type": "string" + }, + "primary_benchmark": { + "description": "The main index or benchmark that this ETF is designed to track or replicate.", + "type": "string" + }, + "processed_date": { + "description": "The date showing when ETF Global received and processed the data.", + "format": "date", + "type": "string" + }, + "product_type": { + "description": "Indicates whether the product is an Exchange-Traded Note ('etn') or an Exchange-Traded Fund ('etf').", + "type": "string" + }, + "rebalance_frequency": { + "description": "How frequently the ETF rebalances its holdings.", + "type": "string" + }, + "reconstitution_frequency": { + "description": "How frequently the index is reconstituted.", + "type": "string" + }, + "region": { + "description": "The geographic region or area of the world where the ETF concentrates its investments.", + "type": "string" + }, + "secondary_objective": { + "description": "The secondary investment objective, if applicable.", + "type": "string" + }, + "selection_methodology": { + "description": "The methodology used to select securities.", + "type": "string" + }, + "selection_universe": { + "description": "The universe from which securities are selected.", + "type": "string" + }, + "strategic_focus": { + "description": "The strategic investment focus of the ETF.", + "type": "string" + }, + "targeted_focus": { + "description": "The targeted investment focus of the ETF.", + "type": "string" + }, + "tax_classification": { + "description": "The tax structure of the ETF, determining whether investors receive 1099 or K1 tax forms (RIC, Partnership, or UIT).", + "type": "string" + }, + "us_code": { + "description": "A unique identifier code that identifies this ETF in US markets.", + "type": "string" + }, + "weighting_methodology": { + "description": "The methodology used to weight holdings.", + "type": "string" + } + }, + "required": [ + "product_type", + "leverage_style", + "management_classification" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/fed/v1/inflation": { + "get": { + "description": "A table tracking inflation and price indices, including Consumer Price Index (CPI) and Personal Consumption Expenditures (PCE) metrics over time.", + "operationId": "get_fed_v1_inflation", + "parameters": [ + { + "description": "Calendar date of the observation (YYYY‑MM‑DD).", + "in": "query", + "name": "date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "date.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "date.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "request_id": 1, + "results": [ + { + "cpi": 310.45, + "cpi_core": 320.1, + "cpi_year_over_year": 3.18, + "date": "2025-06-01", + "pce": 132.73, + "pce_core": 131.9, + "pce_spending": 20345.6 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "cpi": { + "description": "Consumer Price Index (CPI) for All Urban Consumers — a standard measure of headline inflation based on a fixed basket of goods and services, not seasonally adjusted.", + "format": "float", + "type": "number" + }, + "cpi_core": { + "description": "Core Consumer Price Index — the CPI excluding food and energy, used to understand underlying inflation trends without short-term volatility.", + "format": "float", + "type": "number" + }, + "cpi_year_over_year": { + "description": "Year-over-year percentage change in the headline CPI — the most commonly cited inflation rate in public discourse and economic policy.", + "format": "float", + "type": "number" + }, + "date": { + "description": "Calendar date of the observation (YYYY‑MM‑DD).", + "type": "string" + }, + "pce": { + "description": "Personal Consumption Expenditures (PCE) Price Index — a broader measure of inflation used by the Federal Reserve, reflecting actual consumer spending patterns and updated basket weights.", + "format": "float", + "type": "number" + }, + "pce_core": { + "description": "Core PCE Price Index — excludes food and energy prices from the PCE index, and is the Fed's preferred measure of underlying inflation.", + "format": "float", + "type": "number" + }, + "pce_spending": { + "description": "Nominal Personal Consumption Expenditures — total dollar value of consumer spending in the U.S. economy, reported in billions of dollars and not adjusted for inflation.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/fed/v1/inflation-expectations": { + "get": { + "description": "A table tracking inflation expectations from both market-based and economic model perspectives across different time horizons.", + "operationId": "get_fed_v1_inflation-expectations", + "parameters": [ + { + "description": "Calendar date of the observation (YYYY‑MM‑DD).", + "in": "query", + "name": "date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "date.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "date.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "request_id": 1, + "results": [ + { + "date": "2025-06-17", + "forward_years_5_to_10": 2.6, + "market_10_year": 2.36, + "market_5_year": 2.12, + "model_10_year": 2.95, + "model_1_year": 2.85, + "model_30_year": 3, + "model_5_year": 2.91 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "date": { + "description": "Calendar date of the observation (YYYY‑MM‑DD).", + "type": "string" + }, + "forward_years_5_to_10": { + "description": "5-Year, 5-Year Forward Inflation Expectation Rate — the market's expectation of average annual inflation for the 5-year period beginning 5 years from now, based on the spread between forward nominal and real yields.", + "format": "float", + "type": "number" + }, + "market_10_year": { + "description": "10-Year Breakeven Inflation Rate — the market's expectation of average annual inflation over the next 10 years, based on the spread between 10-year nominal Treasury yields and 10-year TIPS yields.", + "format": "float", + "type": "number" + }, + "market_5_year": { + "description": "5-Year Breakeven Inflation Rate — the market's expectation of average annual inflation over the next 5 years, based on the spread between 5-year nominal Treasury yields and 5-year TIPS yields.", + "format": "float", + "type": "number" + }, + "model_10_year": { + "description": "The Cleveland Fed’s 10-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", + "format": "float", + "type": "number" + }, + "model_1_year": { + "description": "The Cleveland Fed’s 1-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", + "format": "float", + "type": "number" + }, + "model_30_year": { + "description": "The Cleveland Fed’s 30-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", + "format": "float", + "type": "number" + }, + "model_5_year": { + "description": "The Cleveland Fed’s 5-year inflation expectations data estimated expected inflation, risk premiums, and the real interest rate using a model based on Treasury yields, inflation data, swaps, and surveys.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/fed/v1/treasury-yields": { + "get": { + "description": "A record of U.S. Treasury bond yields across various maturity periods, tracking historical interest rates from short-term to long-term government securities.", + "operationId": "get_fed_v1_treasury-yields", + "parameters": [ + { + "description": "Calendar date of the yield observation (YYYY-MM-DD).", + "in": "query", + "name": "date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "date.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "date.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "request_id": 1, + "results": [ + { + "date": "1962-01-02", + "yield_10_year": 4.06, + "yield_1_year": 3.22, + "yield_5_year": 3.88 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "date": { + "description": "Calendar date of the yield observation (YYYY-MM-DD).", + "type": "string" + }, + "yield_10_year": { + "description": "Market Yield on U.S. Treasury Securities at 10-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_1_month": { + "description": "Market Yield on U.S. Treasury Securities at 1-Month Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_1_year": { + "description": "Market Yield on U.S. Treasury Securities at 1-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_20_year": { + "description": "Market Yield on U.S. Treasury Securities at 20-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_2_year": { + "description": "Market Yield on U.S. Treasury Securities at 2-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_30_year": { + "description": "Market Yield on U.S. Treasury Securities at 30-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_3_month": { + "description": "Market Yield on U.S. Treasury Securities at 3-Month Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_3_year": { + "description": "Market Yield on U.S. Treasury Securities at 3-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_5_year": { + "description": "Market Yield on U.S. Treasury Securities at 5-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_6_month": { + "description": "Market Yield on U.S. Treasury Securities at 6-Month Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + }, + "yield_7_year": { + "description": "Market Yield on U.S. Treasury Securities at 7-Year Constant Maturity, Quoted on an Investment Basis", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/forex/v1/exchanges": { + "get": { + "description": "Global foreign exchange (FX) trading venues and market infrastructure, including electronic trading platforms, banks, and other institutions facilitating currency pair trading worldwide.", + "operationId": "get_forex_v1_exchanges", + "parameters": [ + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '999'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "request_id": 1, + "results": [ + { + "id": "48", + "name": "Currency Banks 1", + "type": "exchange" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "id": { + "description": "Numeric identifier for the forex trading venue or institution.", + "type": "string" + }, + "name": { + "description": "Full name of the foreign exchange trading venue, platform, or financial institution.", + "type": "string" + }, + "type": { + "description": "Type of forex venue - 'exchange' for electronic trading platforms and institutional trading venues.", + "type": "string" + } + }, + "required": [ + "id", + "type", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/futures/vX/aggs/{ticker}": { + "get": { + "description": "Get aggregates for a contract in a given time range.", + "operationId": "GetFuturesAggregates", + "parameters": [ + { + "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", + "example": "GCJ5", + "in": "path", + "name": "ticker", + "required": true, + "schema": { + "type": "string" + }, + "x-polygon-go-id": "Ticker" + }, + { + "description": "This sets the size of the aggregate windows. It accepts custom values that specify the granularity and the duration of the window.\nFor example: 15mins, 30secs, 12hours, or 7days.\nThere are maximum allowable candle sizes. For example, you can request \"1min\" to \"59mins\", but after that you will need to use \"1hr\". If you make a request for a candle size that is not supported, we will return a 400 \"Bad Request - resolution value is not allowed.\"", + "example": "1min", + "in": "query", + "name": "resolution", + "schema": { + "default": "1day", + "type": "string" + } + }, + { + "description": "Specifies the start time of the aggregate (OHLC) candles you want returned (YYYY-MM-DD date or nanosecond Unix timestamp).\nHow it works - If not provided, the API returns the most recent candles available, up to the limit you set. - If provided, the value determines which candle(s) to return. The timestamp or date is “snapped” to the start time of the matching candle interval. - You can use comparison operators to form ranges:\n - `window_start.gte` – greater than or equal to\n - `window_start.gt` – greater than\n - `window_start.lte` – less than or equal to\n - `window_start.lt` – less than\n\nExamples 1. Most recent minute candles\n `/vX/aggs/ESU5?resolution=1min&limit=5`\n\n2. Daily candle for August 5, 2025\n `/vX/aggs/ESU5?resolution=1day&window_start=2025-08-05`\n\n3. Daily candles from July 1–31, 2025\n `/vX/aggs/ESU5?resolution=1day&window_start.gte=2025-07-01&window_start.lte=2025-07-31`\n\n4. 1,000 one-second candles after a specific timestamp\n `/vX/aggs/ESU5?resolution=1sec&window_start.gt=1751409877000000000&limit=1000`", + "in": "query", + "name": "window_start", + "schema": { + "type": "string" + }, + "x-polygon-filter-field": { + "range": true + } + }, + { + "description": "The number of results to return per page (default=1000, maximum=50000, minimum=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 1000, + "maximum": 50000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Range by window_start.", + "in": "query", + "name": "window_start.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by window_start.", + "in": "query", + "name": "window_start.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by window_start.", + "in": "query", + "name": "window_start.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by window_start.", + "in": "query", + "name": "window_start.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "window_start.desc", + "enum": [ + "window_start.asc", + "window_start.desc" + ], + "example": "window_start.desc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "b452e45b7eaad14151c3e1ce5129b558", + "results": [ + { + "close": 2874.2, + "dollar_volume": 380560636.01, + "high": 2877.1, + "low": 2837.4, + "open": 2849.8, + "session_end_date": "2025-02-04", + "settlement_price": 2875.8, + "ticker": "GCJ5", + "transactions": 74223, + "volume": 133072, + "window_start": 1738627200000000000 + }, + { + "close": 2884.8, + "dollar_volume": 448429944.1, + "high": 2906, + "low": 2870.1, + "open": 2873.7, + "session_end_date": "2025-02-05", + "settlement_price": 2893, + "ticker": "GCJ5", + "transactions": 83673, + "volume": 155170, + "window_start": 1738713600000000000 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, the URL to the next page of results.", + "type": "string" + }, + "results": { + "items": { + "properties": { + "close": { + "description": "The last price within the timeframe.", + "format": "double", + "type": "number" + }, + "dollar_volume": { + "description": "The total dollar volume of the transactions that occurred within the timeframe.", + "format": "double", + "type": "number" + }, + "high": { + "description": "The highest price within the timeframe.", + "format": "double", + "type": "number" + }, + "low": { + "description": "The lowest price within the timeframe.", + "format": "double", + "type": "number" + }, + "open": { + "description": "The opening price within the timeframe.", + "format": "double", + "type": "number" + }, + "session_end_date": { + "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "type": "string" + }, + "settlement_price": { + "description": "The price the contract would have cost to settle for this session.", + "format": "double", + "type": "number" + }, + "ticker": { + "description": "The ticker for the contract.", + "type": "string" + }, + "transactions": { + "description": "The number of transactions that occurred within the timeframe.", + "format": "int64", + "type": "integer" + }, + "volume": { + "description": "The number of contracts that traded within the timeframe.", + "format": "int64", + "type": "integer" + }, + "window_start": { + "description": "The timestamp of the beginning of the candlestick’s aggregation window.", + "format": "int64", + "type": "integer", + "x-polygon-go-type": { + "name": "INanoseconds", + "path": "github.com/polygon-io/ptime" + } + } + }, + "required": [ + "ticker", + "window_start", + "session_end_date", + "open", + "high", + "low", + "close", + "transactions", + "volume", + "dollar_volume" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of the response.", + "type": "string" + } + }, + "required": [ + "status", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of aggregates." + } + }, + "summary": "Aggregates", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Aggregate data", + "name": "aggregates" + }, + "x-polygon-entitlement-market-type": { + "description": "Futures data", + "name": "futures" + } + } + }, + "/futures/vX/contracts": { + "get": { + "description": "The Contracts endpoint returns a list of futures contracts. This endpoint can be used to query for contracts based on a variety of parameters, including the contract's ticker, product code, first trade date, last trade date, and whether or not the contract was active on a given date.", + "operationId": "GetFuturesContracts", + "parameters": [ + { + "description": "A unique identifier for the Product a Contract belongs to. Note that multiple contracts can belong to the same product.", + "in": "query", + "name": "product_code", + "schema": { + "type": "string" + } + }, + { + "description": "The first day that a contract was tradeable. A date with the format YYYY-MM-DD.", + "in": "query", + "name": "first_trade_date", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "The last day that the contract was tradeable. A date with the format YYYY-MM-DD.", + "in": "query", + "name": "last_trade_date", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "Specify the point-in-time for which you want to retrieve information. Note that the contract data returned for a given date is the state of that contract as of that day. A date in the format YYYY-MM-DD (default=today).", + "in": "query", + "name": "as_of", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "Filter for contracts based on whether or not they were tradeable at the given point in time. For example, if the date queried is greater-than or equal-to a contract's 'first_trade_date' and less-than-or-equal-to its 'last_trade_date', then the contract was active. If the date queried is greater-than-or-equal-to the contract's 'last_trade_date' or less-than-or-equal-to its 'first_trade_date', then the contract was inactive.", + "in": "query", + "name": "active", + "schema": { + "default": "all", + "enum": [ + "all", + "true", + "false" + ], + "type": "string" + } + }, + { + "description": "The type of contract, one of \"all\", \"single\", or \"combo\" (default=all).", + "in": "query", + "name": "type", + "schema": { + "default": "all", + "enum": [ + "all", + "single", + "combo" + ], + "type": "string" + } + }, + { + "description": "The number of results to return per page (default=100, max=1000, min=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "product_code.asc", + "enum": [ + "product_code.asc", + "product_code.desc", + "first_trade_date.asc", + "first_trade_date.desc", + "last_trade_date.asc", + "last_trade_date.desc" + ], + "example": "product_code.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "next_url": "https://api.massive.com/futures/vX/contracts?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "results": [ + { + "active": true, + "as_of": "2025-02-26", + "days_to_maturity": 138, + "first_trade_date": "2025-01-15", + "last_trade_date": "2025-07-14", + "max_order_quantity": 1999, + "min_order_quantity": 1, + "name": "00CN5 Future", + "product_code": "00C", + "settlement_date": "2025-07-14", + "settlement_tick_size": 0.0025, + "spread_tick_size": 0.0025, + "ticker": "00CN5", + "trade_tick_size": 0.0025, + "trading_venue": "XCBT", + "type": "single" + }, + { + "active": false, + "as_of": "2025-02-26", + "days_to_maturity": -12, + "first_trade_date": "2024-09-16", + "last_trade_date": "2025-02-14", + "max_order_quantity": 1999, + "min_order_quantity": 1, + "name": "00CG5 Future", + "product_code": "00C", + "settlement_date": "2025-02-14", + "ticker": "00CG5XXX", + "trading_venue": "XCBT", + "type": "single" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page of data.", + "type": "string" + }, + "request_id": { + "description": "A unique identifier for this request.", + "type": "string" + }, + "results": { + "items": { + "properties": { + "active": { + "description": "Whether or not this contract was tradeable at the given point-in-time specified in the 'as_of' attribute (a contract was active if the given day was after the 'first_trade_date' and before the 'last_trade_date').", + "type": "boolean" + }, + "as_of": { + "description": "The point-in-time date for the given contract - e.g. if 'as_of' is set to 2021-04-25, then the data retrieved describes the contract(s) as of 2021-04-25.", + "format": "date", + "type": "string" + }, + "days_to_maturity": { + "description": "The number of days until this contract matures (since the point-in-time date). Note that the absence of this field means there are 0 days until maturity.", + "type": "integer" + }, + "first_trade_date": { + "description": "The date on which this contract first became tradeable.", + "format": "date", + "type": "string" + }, + "last_trade_date": { + "description": "The date on which this contract last became tradeable.", + "format": "date", + "type": "string" + }, + "maturity": { + "description": "This field provides the calendar month reflected in the instrument symbol. For futures spreads and options spreads, this field contains the first leg's calendar month reflected in the instrument symbol. For daily products, this tag contains the full calendar date (YYYYMMDD) as reflected in the instrument symbol.", + "type": "string" + }, + "max_order_quantity": { + "description": "The maximum order quantity for this contract.", + "type": "integer" + }, + "min_order_quantity": { + "description": "The minimum order quantity for this contract.", + "type": "integer" + }, + "name": { + "description": "The name of the contract.", + "type": "string" + }, + "product_code": { + "description": "The unique identifier for the product to which this contract belongs.", + "type": "string" + }, + "settlement_date": { + "description": "The final settlement date for the contract.", + "format": "date", + "type": "string" + }, + "settlement_tick_size": { + "description": "The settlement tick size for this contract.", + "type": "number" + }, + "spread_tick_size": { + "description": "The spread tick size for this contract.", + "type": "number" + }, + "ticker": { + "description": "The unique identifier for the contract, typically consisting of the product code and expiration date.", + "type": "string" + }, + "trade_tick_size": { + "description": "The tick size for this contract.", + "type": "number" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this contract trades.", + "type": "string" + }, + "type": { + "description": "The type of contract, one of \"single\" or \"combo\".", + "type": "string" + } + }, + "required": [ + "ticker", + "product_code", + "first_trade_date", + "last_trade_date", + "trading_venue", + "active", + "type" + ], + "type": "object", + "x-polygon-go-type": { + "name": "Contract" + } + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "example": "OK", + "type": "string" + } + }, + "required": [ + "status", + "request_id" + ], + "type": "object" + } + } + }, + "description": "A list of contracts which satify all query parameters." + } + }, + "summary": "Contracts", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Reference data", + "name": "reference" + } + } + }, + "/futures/vX/contracts-new": { + "get": { + "description": "Retrieve detailed information about a specific futures contract identified by its ticker. The response includes comprehensive attributes such as active status, trade dates, days to maturity, exchange code, order quantity limits, settlement date, tick sizes, and other key metrics. Users can specify a point-in-time (as_of) to view the contract's state on a particular date, supporting informed trading decisions and historical analysis.\n\nUse Cases: Contract specification, historical product checks, system integration, trading decision support.", + "operationId": "get_futures_vX_contracts-new", + "parameters": [ + { + "description": "A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about products for the specified day (default=today). Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The unique identifier for the product.", + "in": "query", + "name": "product_code", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "product_code.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "product_code.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "product_code.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "product_code.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "product_code.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The ticker for the contract.", + "in": "query", + "name": "ticker", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "ticker.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "ticker.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "ticker.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "ticker.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "ticker.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The contract is still trading. Value must be 'true', 'false', '1' or '0'.", + "in": "query", + "name": "active", + "schema": { + "type": "string" + } + }, + { + "description": "The type of product, one of 'single' or 'combo'.", + "in": "query", + "name": "type", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "type.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "type.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "type.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "type.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "type.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The first date the contract trades. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "first_trade_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "first_trade_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "first_trade_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "first_trade_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "first_trade_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The last date the contract trades. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "last_trade_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "last_trade_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "last_trade_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "last_trade_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be an integer timestamp in nanoseconds or formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "last_trade_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '1000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'product_code' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "product_code.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "active": { + "description": "The contract is still trading.", + "type": "boolean" + }, + "date": { + "description": "A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about products for the specified day (default=today).", + "format": "date", + "type": "string" + }, + "days_to_maturity": { + "format": "int64", + "type": "integer" + }, + "first_trade_date": { + "description": "The first date the contract trades.", + "format": "int64", + "type": "integer" + }, + "group_code": { + "type": "string" + }, + "guid": { + "type": "string" + }, + "last_trade_date": { + "description": "The last date the contract trades.", + "format": "int64", + "type": "integer" + }, + "latest": { + "type": "boolean" + }, + "maturity_month": { + "type": "string" + }, + "max_order_quantity": { + "description": "The maximum order quantity.", + "type": "string" + }, + "min_order_quantity": { + "description": "The minimum order quantity.", + "type": "string" + }, + "name": { + "description": "The full name of the product.", + "type": "string" + }, + "product_code": { + "description": "The unique identifier for the product.", + "type": "string" + }, + "security_id": { + "type": "string" + }, + "settlement_date": { + "format": "int64", + "type": "integer" + }, + "settlement_tick_size": { + "description": "The tick size for settlement.", + "format": "double", + "type": "number" + }, + "spread_tick_size": { + "description": "The tick size for spreads.", + "format": "double", + "type": "number" + }, + "ticker": { + "description": "The ticker for the contract.", + "type": "string" + }, + "trade_tick_size": { + "description": "The tick size for trades.", + "format": "double", + "type": "number" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this contract trades.", + "type": "string" + }, + "type": { + "description": "The type of product, one of 'single' or 'combo'.", + "type": "string" + }, + "year_month": { + "type": "string" + } + }, + "required": [ + "active", + "date", + "year_month" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "summary": "futures_contracts_v1 API", + "tags": [ + "default" + ] + } + }, + "/futures/vX/contracts/{ticker}": { + "get": { + "description": "The Contract Details endpoint returns the details for a single contract at a specific point in time.", + "operationId": "GetFuturesContractDetails", + "parameters": [ + { + "description": "The ticker symbol of the contract to retrieve.", + "example": "ESU0", + "in": "path", + "name": "ticker", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The point-in-time of the data to be retrieved. Note that the contract data returned for a given date represents the state of that contract on that day. A date in the format YYYY-MM-DD (default=today).", + "in": "query", + "name": "as_of", + "schema": { + "format": "date", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "results": { + "active": true, + "as_of": "2025-07-07", + "days_to_maturity": 1901, + "first_trade_date": "2025-06-20", + "last_trade_date": "2030-09-20", + "max_order_quantity": 3000, + "min_order_quantity": 1, + "name": "ESU0 Future", + "product_code": "ES", + "settlement_tick_size": 0.25, + "spread_tick_size": 0.01, + "ticker": "ESU0", + "trade_tick_size": 0.25, + "trading_venue": "XCME", + "type": "single" + }, + "status": "OK" + }, + "schema": { + "properties": { + "request_id": { + "description": "A unique identifier for this request.", + "type": "string" + }, + "results": { + "properties": { + "active": { + "description": "Whether or not this contract was tradeable at the given point-in-time specified in the 'as_of' attribute (a contract was active if the given day was after the 'first_trade_date' and before the 'last_trade_date').", + "type": "boolean" + }, + "as_of": { + "description": "The point-in-time date for the given contract - e.g. if 'as_of' is set to 2021-04-25, then the data retrieved describes the contract(s) as of 2021-04-25.", + "format": "date", + "type": "string" + }, + "days_to_maturity": { + "description": "The number of days until this contract matures (since the point-in-time date). Note that the absence of this field means there are 0 days until maturity.", + "type": "integer" + }, + "first_trade_date": { + "description": "The date on which this contract first became tradeable.", + "format": "date", + "type": "string" + }, + "last_trade_date": { + "description": "The date on which this contract last became tradeable.", + "format": "date", + "type": "string" + }, + "maturity": { + "description": "This field provides the calendar month reflected in the instrument symbol. For futures spreads and options spreads, this field contains the first leg's calendar month reflected in the instrument symbol. For daily products, this tag contains the full calendar date (YYYYMMDD) as reflected in the instrument symbol.", + "type": "string" + }, + "max_order_quantity": { + "description": "The maximum order quantity for this contract.", + "type": "integer" + }, + "min_order_quantity": { + "description": "The minimum order quantity for this contract.", + "type": "integer" + }, + "name": { + "description": "The name of the contract.", + "type": "string" + }, + "product_code": { + "description": "The unique identifier for the product to which this contract belongs.", + "type": "string" + }, + "settlement_date": { + "description": "The final settlement date for the contract.", + "format": "date", + "type": "string" + }, + "settlement_tick_size": { + "description": "The settlement tick size for this contract.", + "type": "number" + }, + "spread_tick_size": { + "description": "The spread tick size for this contract.", + "type": "number" + }, + "ticker": { + "description": "The unique identifier for the contract, typically consisting of the product code and expiration date.", + "type": "string" + }, + "trade_tick_size": { + "description": "The tick size for this contract.", + "type": "number" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this contract trades.", + "type": "string" + }, + "type": { + "description": "The type of contract, one of \"single\" or \"combo\".", + "type": "string" + } + }, + "required": [ + "ticker", + "product_code", + "first_trade_date", + "last_trade_date", + "trading_venue", + "active", + "type" + ], + "type": "object", + "x-polygon-go-type": { + "name": "Contract" + } + }, + "status": { + "description": "The status of this request's response.", + "type": "string" + } + }, + "required": [ + "status", + "request_id" + ], + "type": "object" + } + } + }, + "description": "A single contract as it was at the given point-in-time." + } + }, + "summary": "Contract Details", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Reference data", + "name": "reference" + } + } + }, + "/futures/vX/exchanges": { + "get": { + "description": "US futures exchanges and trading venues including major derivatives exchanges (CME, CBOT, NYMEX, COMEX) and other futures market infrastructure for commodity, financial, and other derivative contract trading.", + "operationId": "get_futures_vX_exchanges", + "parameters": [ + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '999'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "request_id": 1, + "results": [ + { + "acronym": "CME", + "id": "4", + "locale": "US", + "mic": "XCME", + "name": "Chicago Mercantile Exchange", + "operating_mic": "XCME", + "type": "exchange", + "url": "https://cmegroup.com" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "acronym": { + "description": "Well-known acronym for the exchange (e.g., 'CME', 'NYMEX', 'CBOT', 'COMEX').", + "type": "string" + }, + "id": { + "description": "Numeric identifier for the futures exchange or trading venue.", + "type": "string" + }, + "locale": { + "description": "Geographic location code where the exchange operates.", + "type": "string" + }, + "mic": { + "description": "Market Identifier Code (MIC) - ISO 10383 standard four-character code for the futures market.", + "type": "string" + }, + "name": { + "description": "Full official name of the futures exchange (e.g., 'Chicago Mercantile Exchange', 'New York Mercantile Exchange').", + "type": "string" + }, + "operating_mic": { + "description": "Operating Market Identifier Code for the futures exchange.", + "type": "string" + }, + "type": { + "description": "Type of venue - 'exchange' for futures exchanges and derivatives trading platforms.", + "type": "string" + }, + "url": { + "description": "Official website URL of the futures exchange organization.", + "type": "string" + } + }, + "required": [ + "id", + "type", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/futures/vX/market-status": { + "get": { + "description": "The market status endpoint returns the current status of the futures market for the given product code(s).", + "operationId": "GetFuturesMarketStatuses", + "parameters": [ + { + "description": "The product code(s) to return market statuses for.\n\nMultiple product codes can be specified by separating them with a comma. Currently, the limit is 250 product codes.", + "in": "query", + "name": "product_code.any_of", + "schema": { + "example": "ES,CL", + "type": "string" + } + }, + { + "description": "The product code to return market statuses for.", + "in": "query", + "name": "product_code", + "schema": { + "example": "ES", + "type": "string" + } + }, + { + "description": "The number of results to return per page (default=100, max=1000, min=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "product_code.asc", + "enum": [ + "product_code.asc", + "product_code.desc" + ], + "example": "product_code.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page of data.", + "example": "https://api.massive.com/futures/vX/products?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "type": "string" + }, + "request_id": { + "description": "A unique identifier for this request.", + "example": "ac0a1b0b-0b0b-4b0b-8b0b-0b0b0b0b0b0b", + "type": "string" + }, + "results": { + "items": { + "properties": { + "market_status": { + "description": "The current status of the market.", + "enum": [ + "pre_open", + "open", + "close", + "pause", + "post_close_pre_open" + ], + "example": "open", + "type": "string" + }, + "product_code": { + "description": "The product code for the product.", + "example": "ES", + "type": "string" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which the corresponding product trades.", + "example": "XNYM", + "type": "string" + } + }, + "required": [ + "market_status", + "product_code" + ], + "type": "object", + "x-polygon-go-type": { + "name": "MarketStatusesResult" + } + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "example": "OK", + "type": "string" + }, + "timestamp": { + "description": "An RFC3339 timestamp representing the moment at which the market statuses were evaluated.", + "example": "2025-02-27T13:26:35.905149Z", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "timestamp" + ], + "type": "object" + } + } + }, + "description": "A list of statuses for each product and market identifier code." + } + }, + "summary": "Market Status", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Reference data", + "name": "reference" + } + } + }, + "/futures/vX/products": { + "get": { + "description": "The Products endpoint returns a list of futures products. This endpoint can be used to query for products based on a variety of parameters, including by the product's name, exchange, sector, sub-sector, asset class, asset sub-class, and type.", + "operationId": "GetFuturesProducts", + "parameters": [ + { + "description": "Search for products by Product Name. This parameter supports an exact match, while a name-contains search can be performed using the `name.search` parameter. Note that the search is case-sensitive.", + "in": "query", + "name": "name", + "schema": { + "type": "string" + }, + "x-polygon-filter-field": { + "search": true + } + }, + { + "description": "A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about products for the specified day (default=today).", + "in": "query", + "name": "as_of", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "The trading venue (MIC) for the exchange on which the products trades.", + "in": "query", + "name": "trading_venue", + "schema": { + "type": "string" + } + }, + { + "description": "The sector to which the products belong.", + "in": "query", + "name": "sector", + "schema": { + "enum": [ + "asia", + "base", + "biofuels", + "coal", + "cross_rates", + "crude_oil", + "custom_index", + "dairy", + "dj_ubs_ci", + "electricity", + "emissions", + "europe", + "fertilizer", + "forestry", + "grains_and_oilseeds", + "intl_index", + "liq_nat_gas_lng", + "livestock", + "long_term_gov", + "long_term_non_gov", + "majors", + "minors", + "nat_gas", + "nat_gas_liq_petro", + "precious", + "refined_products", + "s_and_p_gsci", + "sel_sector_index", + "short_term_gov", + "short_term_non_gov", + "softs", + "us", + "us_index", + "wet_bulk" + ], + "type": "string" + } + }, + { + "description": "The sub-sector to which the products belong.", + "in": "query", + "name": "sub_sector", + "schema": { + "enum": [ + "asian", + "canadian", + "cat", + "cooling_degree_days", + "ercot", + "european", + "gulf", + "heating_degree_days", + "iso_ne", + "large_cap_index", + "mid_cap_index", + "miso", + "north_american", + "nyiso", + "pjm", + "small_cap_index", + "west", + "western_power" + ], + "type": "string" + } + }, + { + "description": "The asset class to which the products belong.", + "in": "query", + "name": "asset_class", + "schema": { + "enum": [ + "alt_investment", + "commodity", + "financials" + ], + "type": "string" + } + }, + { + "description": "The asset sub-class to which the products belong.", + "in": "query", + "name": "asset_sub_class", + "schema": { + "enum": [ + "agricultural", + "commodity_index", + "energy", + "equity", + "foreign_exchange", + "freight", + "housing", + "interest_rate", + "metals", + "weather" + ], + "type": "string" + } + }, + { + "description": "The type of products to return. One of \"all\", \"single\", or \"combo\" (default=all).", + "in": "query", + "name": "type", + "schema": { + "default": "all", + "enum": [ + "all", + "single", + "combo" + ], + "type": "string" + } + }, + { + "description": "The number of results to return per page (default=100, maximum=1000, minimum=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Search by name.", + "in": "query", + "name": "name.search", + "schema": { + "type": "string" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "name.asc", + "enum": [ + "name.asc", + "name.desc", + "trading_venue.asc", + "trading_venue.desc", + "sector.asc", + "sector.desc", + "sub_sector.asc", + "sub_sector.desc", + "asset_class.asc", + "asset_class.desc", + "asset_sub_class.asc", + "asset_sub_class.desc", + "type.asc", + "type.desc" + ], + "example": "name.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "next_url": "https://api.massive.com/futures/vX/products?cursor=YXA9MTAwJmFzPSZhc19vZj0yMDI1LTA3LTA3JmxpbWl0PTEwMCZzb3J0PW5hbWUuYXNj", + "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "results": [ + { + "asset_class": "commodity", + "asset_sub_class": "energy", + "clearing_channel": "exchange_only", + "date": "2025-07-07", + "last_updated": "2025-02-22", + "name": "1% Fuel Oil Barges FOB Rdam (Platts) vs. 1% Fuel Oil Cargoes FOB NWE (Platts) BALMO Futures", + "price_quotation": "U.S. dollars and cents per metric ton", + "product_code": "EBE", + "sector": "refined_products", + "settlement_currency_code": "USD", + "settlement_method": "financially_settled", + "settlement_type": "cash", + "sub_sector": "european", + "trade_currency_code": "USD", + "trading_venue": "XNYM", + "type": "single", + "unit_of_measure": "MTONS", + "unit_of_measure_quantity": 1000 + }, + { + "asset_class": "commodity", + "asset_sub_class": "energy", + "clearing_channel": "exchange_only", + "date": "2025-07-07", + "last_updated": "2025-06-25", + "name": "1% Fuel Oil Cargoes CIF MED (Platts) BALMO Futures", + "price_quotation": "U.S. dollars and cents per metric ton", + "product_code": "AOB", + "sector": "refined_products", + "settlement_currency_code": "USD", + "settlement_method": "financially_settled", + "settlement_type": "cash", + "sub_sector": "european", + "trade_currency_code": "USD", + "trading_venue": "XNYM", + "type": "single", + "unit_of_measure": "MTONS", + "unit_of_measure_quantity": 1000 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page of data.", + "type": "string" + }, + "request_id": { + "description": "A unique identifier for this request.", + "type": "string" + }, + "results": { + "items": { + "properties": { + "as_of": { + "description": "The point-in-time date for the given product - e.g. if 'as_of' is set to 2024-11-05, then these were the details for this product on that day.", + "format": "date", + "type": "string" + }, + "asset_class": { + "description": "The asset class to which the product belongs.", + "type": "string" + }, + "asset_sub_class": { + "description": "The asset sub-class to which the product belongs.", + "type": "string" + }, + "clearing_channel": { + "description": "The clearing channel for this product. Indicates whether the product can be cleared only through exchanges or through both exchanges and over-the-counter.", + "enum": [ + "exchange_only", + "exchange_and_otc" + ], + "type": "string" + }, + "last_updated": { + "description": "The date and time at which this product was last updated.", + "format": "date-time", + "type": "string" + }, + "name": { + "description": "The full name of the product.", + "type": "string" + }, + "price_quotation": { + "description": "The quoted price for this product.", + "type": "string" + }, + "product_code": { + "description": "The unique identifier for the product.", + "type": "string" + }, + "sector": { + "description": "The sector to which the product belongs.", + "type": "string" + }, + "settlement_currency_code": { + "description": "The currency in which this product settles.", + "type": "string" + }, + "settlement_method": { + "description": "The method of settlement for this product (Financially Settled or Deliverable).", + "type": "string" + }, + "settlement_type": { + "description": "The type of settlement for this product.", + "type": "string" + }, + "sub_sector": { + "description": "The sub-sector to which the product belongs.", + "type": "string" + }, + "trade_currency_code": { + "description": "The currency in which this product trades.", + "type": "string" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this contract trades.", + "type": "string" + }, + "type": { + "description": "The type of product, one of \"single\" or \"combo\".", + "type": "string" + }, + "unit_of_measure": { + "description": "The unit of measure for this product.", + "type": "string" + }, + "unit_of_measure_quantity": { + "description": "The quantity of the unit of measure for this product.", + "type": "number" + } + }, + "required": [ + "product_code" + ], + "type": "object", + "x-polygon-go-type": { + "name": "Product" + } + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "example": "OK", + "type": "string" + } + }, + "required": [ + "status", + "request_id" + ], + "type": "object" + } + } + }, + "description": "A list of products which match all of the query parameters." + } + }, + "summary": "Products", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Reference data", + "name": "reference" + } + } + }, + "/futures/vX/products-new": { + "get": { + "description": "Retrieve detailed information about a single futures product as of a specified date, including its asset class, exchange code, full product name, settlement details, pricing quotation, sector classifications, and unit of measure. Optional parameters such as product type (single or combo) and as_of allow you to capture the product’s state on a specific day, providing essential context for trading decisions and system integrations.\n\nUse Cases: Product specification, historical product checks, risk management, trading system integration.", + "operationId": "get_futures_vX_products-new", + "parameters": [ + { + "description": "The full name of the product.", + "in": "query", + "name": "name", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "name.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "name.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "name.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "name.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "name.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The unique identifier for the product.", + "in": "query", + "name": "product_code", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "product_code.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "product_code.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "product_code.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "product_code.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "product_code.lte", + "schema": { + "type": "string" + } + }, + { + "description": "A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about products for the specified day (default=today). Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The sector to which the product belongs.", + "in": "query", + "name": "sector", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "sector.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "sector.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "sector.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "sector.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "sector.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The sub-sector to which the product belongs.", + "in": "query", + "name": "sub_sector", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "sub_sector.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "sub_sector.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "sub_sector.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "sub_sector.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "sub_sector.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The asset class to which the product belongs.", + "in": "query", + "name": "asset_class", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "asset_class.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "asset_class.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "asset_class.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "asset_class.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "asset_class.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The asset sub-class to which the product belongs.", + "in": "query", + "name": "asset_sub_class", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "asset_sub_class.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "asset_sub_class.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "asset_sub_class.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "asset_sub_class.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "asset_sub_class.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The type of product, one of 'single' or 'combo'.", + "in": "query", + "name": "type", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "type.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "type.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "type.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "type.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "type.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'date' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "date.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "asset_class": { + "description": "The asset class to which the product belongs.", + "type": "string" + }, + "asset_sub_class": { + "description": "The asset sub-class to which the product belongs.", + "type": "string" + }, + "date": { + "description": "A date string in the format YYYY-MM-DD. This parameter will return point-in-time information about products for the specified day (default=today).", + "format": "date", + "type": "string" + }, + "display_factor": { + "format": "int64", + "type": "integer" + }, + "group_code": { + "type": "string" + }, + "last_updated": { + "format": "int64", + "type": "integer" + }, + "latest": { + "type": "boolean" + }, + "name": { + "description": "The full name of the product.", + "type": "string" + }, + "price_quotation": { + "description": "The quoted price for this product.", + "type": "string" + }, + "product_code": { + "description": "The unique identifier for the product.", + "type": "string" + }, + "sector": { + "description": "The sector to which the product belongs.", + "type": "string" + }, + "settlement_currency_code": { + "description": "The currency in which this product settles.", + "type": "string" + }, + "settlement_method": { + "description": "The method of settlement for this product (Financially Settled or Deliverable).", + "type": "string" + }, + "settlement_type": { + "description": "The type of settlement for this product.", + "type": "string" + }, + "sub_sector": { + "description": "The sub-sector to which the product belongs.", + "type": "string" + }, + "trade_currency_code": { + "description": "The currency in which this product trades.", + "type": "string" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this contract trades.", + "type": "string" + }, + "type": { + "description": "The type of product, one of 'single' or 'combo'.", + "type": "string" + }, + "unit_of_measure": { + "description": "The unit of measure for this product.", + "type": "string" + }, + "unit_of_measure_qty": { + "description": "The quantity of the unit of measure for this product.", + "format": "double", + "type": "number" + } + }, + "required": [ + "date" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "summary": "futures_products_v1 API", + "tags": [ + "default" + ] + } + }, + "/futures/vX/products/{product_code}": { + "get": { + "description": "The Product Details endpoint returns the details for a single product as of a specific day.", + "operationId": "GetFuturesProductDetails", + "parameters": [ + { + "description": "The unique identifier for a product.", + "example": "ES", + "in": "path", + "name": "product_code", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The type of product to return. One of \"single\" or \"combo\" (default=single).", + "in": "query", + "name": "type", + "schema": { + "default": "single", + "enum": [ + "single", + "combo" + ], + "type": "string" + } + }, + { + "description": "A date string in the format YYYY-MM-DD. Note that the data returned is the state of this product's data at that point-in-time.", + "in": "query", + "name": "as_of", + "schema": { + "format": "date", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "results": { + "asset_class": "financials", + "asset_sub_class": "equity", + "clearing_channel": "exchange_only", + "date": "2025-07-07", + "last_updated": "2025-07-04", + "name": "E-mini S&P 500 Futures", + "price_quotation": "U.S. dollars and cents per index point", + "product_code": "ES", + "sector": "us_index", + "settlement_currency_code": "USD", + "settlement_method": "financially_settled", + "settlement_type": "cash", + "sub_sector": "small_cap_index", + "trade_currency_code": "USD", + "trading_venue": "XCME", + "type": "single", + "unit_of_measure": "IPNT", + "unit_of_measure_quantity": 50 + }, + "status": "OK" + }, + "schema": { + "properties": { + "request_id": { + "description": "A unique identifier for this request.", + "type": "string" + }, + "results": { + "properties": { + "as_of": { + "description": "The point-in-time date for the given product - e.g. if 'as_of' is set to 2024-11-05, then these were the details for this product on that day.", + "format": "date", + "type": "string" + }, + "asset_class": { + "description": "The asset class to which the product belongs.", + "type": "string" + }, + "asset_sub_class": { + "description": "The asset sub-class to which the product belongs.", + "type": "string" + }, + "clearing_channel": { + "description": "The clearing channel for this product. Indicates whether the product can be cleared only through exchanges or through both exchanges and over-the-counter.", + "enum": [ + "exchange_only", + "exchange_and_otc" + ], + "type": "string" + }, + "last_updated": { + "description": "The date and time at which this product was last updated.", + "format": "date-time", + "type": "string" + }, + "name": { + "description": "The full name of the product.", + "type": "string" + }, + "price_quotation": { + "description": "The quoted price for this product.", + "type": "string" + }, + "product_code": { + "description": "The unique identifier for the product.", + "type": "string" + }, + "sector": { + "description": "The sector to which the product belongs.", + "type": "string" + }, + "settlement_currency_code": { + "description": "The currency in which this product settles.", + "type": "string" + }, + "settlement_method": { + "description": "The method of settlement for this product (Financially Settled or Deliverable).", + "type": "string" + }, + "settlement_type": { + "description": "The type of settlement for this product.", + "type": "string" + }, + "sub_sector": { + "description": "The sub-sector to which the product belongs.", + "type": "string" + }, + "trade_currency_code": { + "description": "The currency in which this product trades.", + "type": "string" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this contract trades.", + "type": "string" + }, + "type": { + "description": "The type of product, one of \"single\" or \"combo\".", + "type": "string" + }, + "unit_of_measure": { + "description": "The unit of measure for this product.", + "type": "string" + }, + "unit_of_measure_quantity": { + "description": "The quantity of the unit of measure for this product.", + "type": "number" + } + }, + "required": [ + "product_code" + ], + "type": "object", + "x-polygon-go-type": { + "name": "Product" + } + }, + "status": { + "description": "The status of this request's response.", + "type": "string" + } + }, + "required": [ + "status", + "request_id" + ], + "type": "object" + } + } + }, + "description": "A single Product as it was at the given point-in-time." + } + }, + "summary": "Product Details", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Reference data", + "name": "reference" + } + } + }, + "/futures/vX/products/{product_code}/schedules": { + "get": { + "description": "The Product-Specific Futures Schedules API provides detailed trading schedules for a specific futures product. This API allows you to query schedules for a single product across a range of dates. Users can access comprehensive information about trading sessions, including market events such as preopen, open, and closed, along with their precise timestamps.", + "operationId": "GetFuturesProductSchedules", + "parameters": [ + { + "description": "The product code for the futures product.", + "example": "ES", + "in": "path", + "name": "product_code", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The date on which the schedule's trading day ended (sometimes referred to as trading date). Defaults to today. Formatted as `YYYY-MM-DD`. Note that although there is no time component the day is assumed to be that day in Central Time.", + "in": "query", + "name": "session_end_date", + "schema": { + "format": "date", + "type": "string" + }, + "x-polygon-filter-field": { + "range": true + } + }, + { + "description": "The number of results to return per page (default=100, max=1000, min=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.gte", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.gt", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.lte", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.lt", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "session_end_date.desc", + "enum": [ + "session_end_date.asc", + "session_end_date.desc" + ], + "example": "session_end_date.desc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "next_url": "https://api.massive.com/futures/vX/products/ES/schedules?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "results": [ + { + "example": "E-Mini S&P 500 Futures", + "product_code": "ES", + "product_name": "E-Mini S&P 500 Futures", + "schedule": [ + { + "event": "pre_open", + "timestamp": "2025-11-24T18:45:00:00-06:00" + }, + { + "event": "open", + "timestamp": "2025-11-24T19:00:00-06:00" + }, + { + "event": "close", + "timestamp": "2025-11-25T18:00:00-06:00" + } + ], + "session_end_date": "2025-11-24", + "trading_venue": "XNYM" + }, + { + "product_code": "ES", + "product_name": "E-Mini S&P 500 Futures", + "schedule": [ + { + "event": "pre_open", + "timestamp": "2025-11-24T18:45:00:00-06:00" + }, + { + "event": "open", + "timestamp": "2025-11-24T19:00:00-06:00" + }, + { + "event": "close", + "timestamp": "2025-11-25T18:00:00-06:00" + } + ], + "session_end_date": "2025-11-21", + "trading_venue": "XNYM" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "error": { + "description": "An optional error message for failed requests when available.", + "type": "string" + }, + "next_url": { + "description": "If present, this value can be used to fetch the next page of data.", + "type": "string" + }, + "request_id": { + "description": "The unique identifier for the request.", + "type": "string" + }, + "results": { + "description": "The list of schedules for the specified product.", + "items": { + "properties": { + "product_code": { + "description": "The product code for the futures product to which this schedule applies.", + "type": "string" + }, + "product_name": { + "description": "The name of the futures product to which this schedule applies.", + "type": "string" + }, + "schedule": { + "items": { + "properties": { + "event": { + "description": "The market event for this schedule.", + "enum": [ + "pre_open", + "open", + "close", + "pause", + "post_close_pre_open" + ], + "type": "string" + }, + "timestamp": { + "description": "The timestamp for this market event in Central Time.", + "format": "time", + "type": "string" + } + }, + "required": [ + "event", + "timestamp" + ], + "type": "object" + }, + "type": "array" + }, + "session_end_date": { + "description": "The date on which the schedule's trading day ended (sometimes referred to as trading date) formatted as `YYYY-MM-DD`. Note that although there is no time component on this attribute, the day refers to Central Time.", + "format": "date", + "type": "string" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this schedule's product trades.", + "type": "string" + } + }, + "required": [ + "session_end_date", + "product_code", + "schedule" + ], + "type": "object", + "x-polygon-go-type": { + "name": "SchedulesResult" + } + }, + "type": "array" + }, + "status": { + "description": "The status of the response.", + "type": "string" + } + }, + "required": [ + "status", + "request_id" + ], + "type": "object" + } + } + }, + "description": "A list of schedules for each product." + } + }, + "summary": "Product Schedules", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Reference data", + "name": "reference" + } + } + }, + "/futures/vX/quotes/{ticker}": { + "get": { + "description": "Get quotes for a contract in a given time range.", + "operationId": "GetFuturesQuotes", + "parameters": [ + { + "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", + "example": "GCJ5", + "in": "path", + "name": "ticker", + "required": true, + "schema": { + "type": "string" + }, + "x-polygon-go-id": "Ticker" + }, + { + "description": "Query by trade timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.", + "in": "query", + "name": "timestamp", + "schema": { + "type": "string" + }, + "x-polygon-filter-field": { + "range": true + } + }, + { + "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "in": "query", + "name": "session_end_date", + "schema": { + "type": "string" + }, + "x-polygon-filter-field": { + "range": true + } + }, + { + "description": "The number of results to return per page (default=1000, maximum=50000, minimum=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 1000, + "maximum": 50000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "timestamp.desc", + "enum": [ + "timestamp.asc", + "timestamp.desc" + ], + "example": "timestamp.desc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", + "results": [ + { + "ask_price": 604075, + "ask_size": 6, + "ask_timestamp": 1734467086235923000, + "bid_price": 604075, + "bid_size": 6, + "bid_timestamp": 1734415473057885400, + "session_end_date": "2024-12-17", + "ticker": "ESZ4", + "timestamp": 1734476400002853000 + }, + { + "ask_price": 604100, + "ask_size": 2, + "ask_timestamp": 1734466901129138400, + "bid_price": 604100, + "bid_size": 2, + "bid_timestamp": 1734415473057885400, + "session_end_date": "2024-12-17", + "ticker": "ESZ4", + "timestamp": 1734466901128680000 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page of data.", + "type": "string" + }, + "results": { + "items": { + "properties": { + "ask_price": { + "description": "The ask price is expressed per unit of the underlying asset, and you apply the contract multiplier to get the full contract value.", + "format": "double", + "type": "number" + }, + "ask_size": { + "description": "The quote size represents the number of futures contracts available at the given ask price.", + "format": "double", + "type": "number" + }, + "ask_timestamp": { + "description": "The time when the ask price was submitted to the exchange.", + "type": "integer", + "x-polygon-go-type": { + "name": "IMilliseconds", + "path": "github.com/polygon-io/ptime" + } + }, + "bid_price": { + "description": "The bid price is expressed per unit of the underlying asset, and you apply the contract multiplier to get the full contract value.", + "format": "double", + "type": "number" + }, + "bid_size": { + "description": "The quote size represents the number of futures contracts available at the given bid price.", + "format": "double", + "type": "number" + }, + "bid_timestamp": { + "description": "The time when the bid price was submitted to the exchange.", + "type": "integer", + "x-polygon-go-type": { + "name": "IMilliseconds", + "path": "github.com/polygon-io/ptime" + } + }, + "session_end_date": { + "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "type": "string" + }, + "ticker": { + "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", + "type": "string" + }, + "timestamp": { + "description": "The time when the quote was generated at the exchange to nanosecond precision.", + "type": "integer", + "x-polygon-go-type": { + "name": "IMilliseconds", + "path": "github.com/polygon-io/ptime" + } + } + }, + "required": [ + "ticker", + "timestamp", + "session_end_date" + ], + "type": "object", + "x-polygon-go-type": { + "name": "Futures" + } + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + } + } + }, + "description": "A list of quotes." + } + }, + "summary": "Quotes", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Futures quotes data", + "name": "nbbo" + }, + "x-polygon-entitlement-market-type": { + "description": "Futures data", + "name": "futures" + }, + "x-polygon-replaces": { + "date": 1654056060000, + "replaces": { + "name": "Quotes", + "path": "get_v1_us_futures_quotes__ticker___date" + } + } + } + }, + "/futures/vX/schedules": { + "get": { + "description": "The Trading-Date Based Futures Schedules API provides detailed trading schedules for all products on a specific day. This API allows you to retrieve detailed information about trading sessions, including market events like preopen, open, and closed, along with their precise timestamps.", + "operationId": "GetFuturesDailySchedules", + "parameters": [ + { + "description": "The session end date for the schedules (also known as the trading date). This is the day in CT for which the user wants to retrieve data. If left blank, this value defaults to 'today' in Central Time. e.g. If a request is made from Pacific Time on '2025-01-01' at 11:00 pm with no 'session_end_date' a default value of `2025-01-02` will be used.", + "in": "query", + "name": "session_end_date", + "schema": { + "format": "date", + "type": "string" + } + }, + { + "description": "The trading venue (MIC) of the exchange for the schedules.", + "in": "query", + "name": "trading_venue", + "schema": { + "type": "string" + } + }, + { + "description": "The number of results to return per page (default=100, max=1000, min=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "trading_venue.asc", + "enum": [ + "trading_venue.asc", + "trading_venue.desc" + ], + "example": "trading_venue.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "next_url": "http://api.massive.com/futures/vX/schedules?cursor=YXA9MUUmYXM9WE5ZTSZsaW1pdD0yJm9yZGVyPWFzYyZzb3J0PXByb2R1Y3RfY29kZSZ0cmFkaW5nX2RhdGU9MjAyNC0xMS0yNQ", + "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", + "results": [ + { + "product_code": "10Y", + "product_name": "10-YEAR YIELD CAL SPD", + "schedule": [ + { + "event": "pre_open", + "timestamp": "2025-07-06T16:00:00-05:00" + }, + { + "event": "open", + "timestamp": "2025-07-06T17:00:00-05:00" + }, + { + "event": "close", + "timestamp": "2025-07-07T16:00:00-05:00" + } + ], + "session_end_date": "2025-07-07", + "trading_venue": "XCBT" + }, + { + "product_code": "10Y", + "product_name": "10-Year Yield Futures", + "schedule": [ + { + "event": "pre_open", + "timestamp": "2025-07-06T16:00:00-05:00" + }, + { + "event": "open", + "timestamp": "2025-07-06T17:00:00-05:00" + }, + { + "event": "close", + "timestamp": "2025-07-07T16:00:00-05:00" + } + ], + "session_end_date": "2025-07-07", + "trading_venue": "XCBT" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "The URL for the next page of results.", + "type": "string" + }, + "request_id": { + "description": "The unique identifier for this request.", + "type": "string" + }, + "results": { + "description": "A list of schedules for each product.", + "items": { + "properties": { + "product_code": { + "description": "The product code for the futures product to which this schedule applies.", + "type": "string" + }, + "product_name": { + "description": "The name of the futures product to which this schedule applies.", + "type": "string" + }, + "schedule": { + "items": { + "properties": { + "event": { + "description": "The market event for this schedule.", + "enum": [ + "pre_open", + "open", + "close", + "pause", + "post_close_pre_open" + ], + "type": "string" + }, + "timestamp": { + "description": "The timestamp for this market event in Central Time.", + "format": "time", + "type": "string" + } + }, + "required": [ + "event", + "timestamp" + ], + "type": "object" + }, + "type": "array" + }, + "session_end_date": { + "description": "The date on which the schedule's trading day ended (sometimes referred to as trading date) formatted as `YYYY-MM-DD`. Note that although there is no time component on this attribute, the day refers to Central Time.", + "format": "date", + "type": "string" + }, + "trading_venue": { + "description": "The trading venue (MIC) for the exchange on which this schedule's product trades.", + "type": "string" + } + }, + "required": [ + "session_end_date", + "product_code", + "schedule" + ], + "type": "object", + "x-polygon-go-type": { + "name": "SchedulesResult" + } + }, + "type": "array" + }, + "status": { + "description": "The status of the response.", + "type": "string" + } + }, + "required": [ + "status", + "request_id" + ], + "type": "object" + } + } + }, + "description": "A list of schedules for a given day." + } + }, + "summary": "Daily Schedules", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Reference data", + "name": "reference" + } + } + }, + "/futures/vX/snapshot": { + "get": { + "description": "Retrieve a snapshot of the most recent futures contract data.", + "operationId": "get_futures_vX_snapshot", + "parameters": [ + { + "description": "The code for the contracts' underlying product.", + "in": "query", + "name": "product_code", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "product_code.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "product_code.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "product_code.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "product_code.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "product_code.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., ESZ24 for the December 2024 S&P 500 E-mini contract).", + "in": "query", + "name": "ticker", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "ticker.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "ticker.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "ticker.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "ticker.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "ticker.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'ticker' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "ticker.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 1, + "next_url": "https://api.massive.com/v1/futures/vX/snapshot?cursor=AQANAkNCBVNQ", + "request_id": "c4d50f4801874e30b63e674b844cf51f", + "results": [ + { + "details": { + "open_interest": 112, + "settlement_date": 1753851600000000000 + }, + "last_minute": { + "close": 240.00000000000003, + "high": 240.00000000000003, + "last_updated": 1746045300000, + "low": 240.00000000000003, + "open": 240.00000000000003, + "volume": 5 + }, + "last_quote": { + "ask": 240.50000000000003, + "ask_size": 3, + "ask_timestamp": 1746036204386194000, + "bid": 239.50000000000003, + "bid_size": 2, + "bid_timestamp": 1746035747932118000, + "last_updated": 1746046798024234200 + }, + "last_trade": { + "last_updated": 1746045242858242600, + "price": 240.00000000000003, + "size": 5 + }, + "product_code": "CB", + "session": { + "change": 21.11, + "change_percent": 0.09622134, + "close": 240.00000000000003, + "high": 241.00000000000003, + "low": 240.00000000000003, + "open": 240.00000000000003, + "previous_settlement": 219.39, + "settlement_price": 240.50000000000003, + "volume": 55 + }, + "ticker": "CBN5" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "details": { + "properties": { + "product_code": { + "type": "string" + }, + "settlement_date": { + "description": "The day that this contract is settled.", + "format": "int64", + "type": "integer" + }, + "ticker": { + "type": "string" + } + }, + "type": "object" + }, + "last_minute": { + "properties": { + "close": { + "description": "The price at the end of the minute bar.", + "format": "double", + "type": "number" + }, + "high": { + "description": "The highest price reached in the minute bar.", + "format": "double", + "type": "number" + }, + "last_updated": { + "description": "The timestamp indicating the most recent update to the minute bar.", + "format": "int64", + "type": "integer" + }, + "low": { + "description": "The lowest price reached in the minute bar.", + "format": "double", + "type": "number" + }, + "open": { + "description": "The opening price at the start of the minute bar.", + "format": "double", + "type": "number" + }, + "timeframe": { + "type": "string" + }, + "volume": { + "description": "The number of contracts traded in the minute bar.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "last_quote": { + "properties": { + "ask": { + "description": "The lowest price a seller is willing to accept.", + "format": "double", + "type": "number" + }, + "ask_size": { + "description": "The number of contracts available at the ask price.", + "format": "int32", + "type": "integer" + }, + "ask_timestamp": { + "description": "The time when the best ask price was last updated.", + "format": "int64", + "type": "integer" + }, + "bid": { + "description": "The highest price a buyer is willing to pay.", + "format": "double", + "type": "number" + }, + "bid_size": { + "description": "The number of contracts available at the bid price.", + "format": "int32", + "type": "integer" + }, + "bid_timestamp": { + "description": "The time when the best bid price was last updated.", + "format": "int64", + "type": "integer" + }, + "last_updated": { + "description": "The time when the quote was generated at the exchange to nanosecond precision.", + "format": "int64", + "type": "integer" + }, + "timeframe": { + "type": "string" + } + }, + "type": "object" + }, + "last_trade": { + "properties": { + "last_updated": { + "description": "The time when the trade was generated at the exchange to nanosecond precision.", + "format": "int64", + "type": "integer" + }, + "price": { + "description": "The price of the trade. This is the actual dollar value per whole contract of this trade. A trade of 100 contracts with a price of $2.00 would be worth a total dollar value of $200.00.", + "format": "double", + "type": "number" + }, + "size": { + "description": "The total number of contracts exchanged between buyers and sellers on a given trade.", + "format": "int64", + "type": "integer" + }, + "timeframe": { + "type": "string" + } + }, + "type": "object" + }, + "session": { + "properties": { + "change": { + "description": "The change in price during this session.", + "format": "double", + "type": "number" + }, + "change_percent": { + "description": "The percentage change in price during this session.", + "format": "double", + "type": "number" + }, + "close": { + "description": "The price at the end of the session.", + "format": "double", + "type": "number" + }, + "high": { + "description": "The highest price reached in the session.", + "format": "double", + "type": "number" + }, + "low": { + "description": "The lowest price reached in the session.", + "format": "double", + "type": "number" + }, + "open": { + "description": "The opening price at the start of the session.", + "format": "double", + "type": "number" + }, + "previous_settlement": { + "description": "The settlement price of the previous session.", + "format": "double", + "type": "number" + }, + "settlement_price": { + "description": "The final settlement price at the end of the session.", + "format": "double", + "type": "number" + }, + "volume": { + "description": "The number of contracts traded in the session.", + "format": "double", + "type": "number" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "summary": "futures_snapshot_v1 API", + "tags": [ + "default" + ] + } + }, + "/futures/vX/trades/{ticker}": { + "get": { + "description": "Get trades for a contract in a given time range.", + "operationId": "GetFuturesTrades", + "parameters": [ + { + "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", + "example": "GCJ5", + "in": "path", + "name": "ticker", + "required": true, + "schema": { + "type": "string" + }, + "x-polygon-go-id": "Ticker" + }, + { + "description": "Query by trade timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.", + "in": "query", + "name": "timestamp", + "schema": { + "type": "string" + }, + "x-polygon-filter-field": { + "range": true + } + }, + { + "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "in": "query", + "name": "session_end_date", + "schema": { + "type": "string" + }, + "x-polygon-filter-field": { + "range": true + } + }, + { + "description": "The number of results to return per page (default=1000, maximum=50000, minimum=1).", + "in": "query", + "name": "limit", + "schema": { + "default": 1000, + "maximum": 50000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by session_end_date.", + "in": "query", + "name": "session_end_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "in": "query", + "name": "sort", + "schema": { + "default": "timestamp.desc", + "enum": [ + "timestamp.asc", + "timestamp.desc" + ], + "example": "timestamp.desc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", + "results": [ + { + "price": 605400, + "session_end_date": "2024-12-17", + "size": 12, + "ticker": "ESZ4", + "timestamp": 1734484219379895800 + }, + { + "price": 605412, + "session_end_date": "2024-12-17", + "size": 55, + "ticker": "ESZ4", + "timestamp": 1734484212100118500 + }, + { + "price": 605544, + "session_end_date": "2024-12-17", + "size": 36, + "ticker": "ESZ4", + "timestamp": 1734484212099944200 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page of data.", + "type": "string" + }, + "results": { + "items": { + "properties": { + "price": { + "description": "The price of the trade. This is the actual dollar value per whole contract of this trade. A trade of 100 contracts with a price of $2.00 would be worth a total dollar value of $200.00.", + "format": "double", + "type": "number" + }, + "session_end_date": { + "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "type": "string" + }, + "size": { + "description": "The total number of contracts exchanged between buyers and sellers on a given trade.", + "format": "double", + "type": "number" + }, + "ticker": { + "description": "ticker of the trade", + "type": "string" + }, + "timestamp": { + "description": "The time when the trade was generated at the exchange to nanosecond precision.", + "type": "integer", + "x-polygon-go-type": { + "name": "IMilliseconds", + "path": "github.com/polygon-io/ptime" + } + } + }, + "required": [ + "ticker", + "timestamp", + "session_end_date", + "price", + "size" + ], + "type": "object", + "x-polygon-go-type": { + "name": "Futures" + } + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + } + } + }, + "description": "A list of trades." + } + }, + "summary": "Trades", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "Futures trade data", + "name": "trades" + }, + "x-polygon-entitlement-market-type": { + "description": "Futures data", + "name": "futures" + }, + "x-polygon-replaces": { + "date": 1654056060000, + "replaces": { + "name": "Trades", + "path": "get_v1_us_futures_trades__ticker___date" + } + } + } + }, + "/options/v1/exchanges": { + "get": { + "description": "US options exchanges and trading venues including traditional options exchanges (CBOE, ISE, etc.), Securities Information Processors (SIP), and other options market infrastructure for derivatives trading.", + "operationId": "get_options_v1_exchanges", + "parameters": [ + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '999'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 2, + "request_id": 1, + "results": [ + { + "id": "302", + "locale": "US", + "mic": "XCBO", + "name": "Chicago Board Options Exchange", + "operating_mic": "XCBO", + "participant_id": "C", + "type": "exchange", + "url": "https://www.cboe.com" + }, + { + "acronym": "ISE", + "id": "308", + "locale": "US", + "mic": "XISX", + "name": "International Securities Exchange, LLC", + "operating_mic": "XISX", + "participant_id": "I", + "type": "exchange", + "url": "https://www.nasdaq.com/solutions/nasdaq-ise" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "acronym": { + "description": "Exchange acronym or short name (e.g., 'ISE', 'GEMX') - may be null for some venues.", + "type": "string" + }, + "id": { + "description": "Numeric identifier for the options trading venue or exchange.", + "type": "string" + }, + "locale": { + "description": "Geographic location code.", + "type": "string" + }, + "mic": { + "description": "Market Identifier Code (MIC) - ISO 10383 standard four-character code identifying the specific options market.", + "type": "string" + }, + "name": { + "description": "Full official name of the options exchange or trading venue.", + "type": "string" + }, + "operating_mic": { + "description": "Operating Market Identifier Code - identifies the parent organization or operating entity.", + "type": "string" + }, + "participant_id": { + "description": "Single-character participant identifier used in consolidator market data feeds and options trade reporting.", + "type": "string" + }, + "type": { + "description": "Type of venue: 'exchange' for options exchanges, 'SIP' for Securities Information Processors like OPRA (Options Price Reporting Authority).", + "type": "string" + }, + "url": { + "description": "Official website URL of the organization operating the options exchange.", + "type": "string" + } + }, + "required": [ + "id", + "type", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/stocks/financials/v1/balance-sheets": { + "get": { + "description": "A comprehensive financial dataset containing quarterly and annual balance sheet data for public companies. Includes detailed asset, liability, and equity positions representing the company's financial position at specific points in time. Balance sheet data represents point-in-time snapshots rather than cumulative flows, showing what the company owns, owes, and shareholders' equity as of each period end date.", + "operationId": "get_stocks_financials_v1_balance-sheets", + "parameters": [ + { + "description": "The company's Central Index Key (CIK), a unique identifier assigned by the U.S. Securities and Exchange Commission (SEC). You can look up a company's CIK using the [SEC CIK Lookup tool](https://www.sec.gov/search-filings/cik-lookup).", + "in": "query", + "name": "cik", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "cik.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "cik.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "cik.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "cik.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "cik.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain the value.", + "in": "query", + "name": "tickers", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.all_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "The last date of the reporting period, representing the specific point in time when the balance sheet snapshot was taken. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The date when the financial statement was filed with the SEC. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The fiscal year for the reporting period. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "The fiscal quarter number (1, 2, 3, or 4) for the reporting period. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "The reporting period type. Possible values include: quarterly, annual.", + "in": "query", + "name": "timeframe", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "timeframe.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "timeframe.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "timeframe.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "timeframe.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "timeframe.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'period_end' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "period_end.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "d9f86384d43845a4a3d7b79098fb08dd", + "results": [ + { + "accounts_payable": 50374000000, + "accrued_and_other_current_liabilities": 62499000000, + "accumulated_other_comprehensive_income": -6369000000, + "cash_and_equivalents": 36269000000, + "cik": "0000320193", + "common_stock": 89806000000, + "debt_current": 19268000000, + "deferred_revenue_current": 8979000000, + "filing_date": "2025-08-01", + "fiscal_quarter": 3, + "fiscal_year": 2025, + "inventories": 5925000000, + "long_term_debt_and_capital_lease_obligations": 82430000000, + "other_assets": 160496000000, + "other_current_assets": 14359000000, + "other_equity": 0, + "other_noncurrent_liabilities": 42115000000, + "period_end": "2025-06-28", + "property_plant_equipment_net": 48508000000, + "receivables": 46835000000, + "retained_earnings_deficit": -17607000000, + "tickers": [ + "AAPL" + ], + "timeframe": "quarterly", + "total_assets": 331495000000, + "total_current_assets": 103388000000, + "total_current_liabilities": 141120000000, + "total_equity": 65830000000, + "total_equity_attributable_to_parent": 65830000000, + "total_liabilities": 265665000000, + "total_liabilities_and_equity": 331495000000 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "accounts_payable": { + "description": "Amounts owed to suppliers and vendors for goods and services purchased on credit.", + "format": "double", + "type": "number" + }, + "accrued_and_other_current_liabilities": { + "description": "Current liabilities not classified elsewhere, including accrued expenses, taxes payable, and other obligations due within one year.", + "format": "double", + "type": "number" + }, + "accumulated_other_comprehensive_income": { + "description": "Cumulative gains and losses that bypass the income statement, including foreign currency translation adjustments and unrealized gains/losses on securities.", + "format": "double", + "type": "number" + }, + "additional_paid_in_capital": { + "description": "Amount received from shareholders in excess of the par or stated value of shares issued.", + "format": "double", + "type": "number" + }, + "cash_and_equivalents": { + "description": "Cash on hand and short-term, highly liquid investments that are readily convertible to known amounts of cash.", + "format": "double", + "type": "number" + }, + "cik": { + "description": "The company's Central Index Key (CIK), a unique identifier assigned by the U.S. Securities and Exchange Commission (SEC). You can look up a company's CIK using the [SEC CIK Lookup tool](https://www.sec.gov/search-filings/cik-lookup).", + "type": "string" + }, + "commitments_and_contingencies": { + "description": "Disclosed amount related to contractual commitments and potential liabilities that may arise from uncertain future events.", + "format": "double", + "type": "number" + }, + "common_stock": { + "description": "Par or stated value of common shares outstanding representing basic ownership in the company.", + "format": "double", + "type": "number" + }, + "debt_current": { + "description": "Short-term borrowings and the current portion of long-term debt due within one year.", + "format": "double", + "type": "number" + }, + "deferred_revenue_current": { + "description": "Customer payments received in advance for goods or services to be delivered within one year.", + "format": "double", + "type": "number" + }, + "filing_date": { + "description": "The date when the financial statement was filed with the SEC.", + "format": "date", + "type": "string" + }, + "fiscal_quarter": { + "description": "The fiscal quarter number (1, 2, 3, or 4) for the reporting period.", + "format": "double", + "type": "number" + }, + "fiscal_year": { + "description": "The fiscal year for the reporting period.", + "format": "double", + "type": "number" + }, + "goodwill": { + "description": "Intangible asset representing the excess of purchase price over fair value of net assets acquired in business combinations.", + "format": "double", + "type": "number" + }, + "intangible_assets_net": { + "description": "Intangible assets other than goodwill, including patents, trademarks, and customer relationships, net of accumulated amortization.", + "format": "double", + "type": "number" + }, + "inventories": { + "description": "Raw materials, work-in-process, and finished goods held for sale in the ordinary course of business.", + "format": "double", + "type": "number" + }, + "long_term_debt_and_capital_lease_obligations": { + "description": "Long-term borrowings and capital lease obligations with maturities greater than one year.", + "format": "double", + "type": "number" + }, + "noncontrolling_interest": { + "description": "Equity in consolidated subsidiaries not owned by the parent company, representing minority shareholders' ownership.", + "format": "double", + "type": "number" + }, + "other_assets": { + "description": "Non-current assets not classified elsewhere, including long-term investments, deferred tax assets, and other long-term assets.", + "format": "double", + "type": "number" + }, + "other_current_assets": { + "description": "Current assets not classified elsewhere, including prepaid expenses, taxes receivable, and other assets expected to be converted to cash within one year.", + "format": "double", + "type": "number" + }, + "other_equity": { + "description": "Equity components not classified elsewhere in shareholders' equity.", + "format": "double", + "type": "number" + }, + "other_noncurrent_liabilities": { + "description": "Non-current liabilities not classified elsewhere, including deferred tax liabilities, pension obligations, and other long-term liabilities.", + "format": "double", + "type": "number" + }, + "period_end": { + "description": "The last date of the reporting period, representing the specific point in time when the balance sheet snapshot was taken.", + "format": "date", + "type": "string" + }, + "preferred_stock": { + "description": "Par or stated value of preferred shares outstanding with preferential rights over common stock.", + "format": "double", + "type": "number" + }, + "property_plant_equipment_net": { + "description": "Tangible fixed assets used in operations, reported net of accumulated depreciation.", + "format": "double", + "type": "number" + }, + "receivables": { + "description": "Amounts owed to the company by customers and other parties, primarily accounts receivable, net of allowances for doubtful accounts.", + "format": "double", + "type": "number" + }, + "retained_earnings_deficit": { + "description": "Cumulative net income earned by the company less dividends paid to shareholders since inception.", + "format": "double", + "type": "number" + }, + "short_term_investments": { + "description": "Marketable securities and other investments with maturities of one year or less that are not classified as cash equivalents.", + "format": "double", + "type": "number" + }, + "tickers": { + "description": "A list of ticker symbols under which the company is listed. Multiple symbols may indicate different share classes for the same company.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeframe": { + "description": "The reporting period type. Possible values include: quarterly, annual.", + "type": "string" + }, + "total_assets": { + "description": "Sum of all current and non-current assets representing everything the company owns or controls.", + "format": "double", + "type": "number" + }, + "total_current_assets": { + "description": "Sum of all current assets expected to be converted to cash, sold, or consumed within one year.", + "format": "double", + "type": "number" + }, + "total_current_liabilities": { + "description": "Sum of all liabilities expected to be settled within one year.", + "format": "double", + "type": "number" + }, + "total_equity": { + "description": "Sum of all equity components representing shareholders' total ownership interest in the company.", + "format": "double", + "type": "number" + }, + "total_equity_attributable_to_parent": { + "description": "Total shareholders' equity attributable to the parent company, excluding noncontrolling interests.", + "format": "double", + "type": "number" + }, + "total_liabilities": { + "description": "Sum of all current and non-current liabilities representing everything the company owes.", + "format": "double", + "type": "number" + }, + "total_liabilities_and_equity": { + "description": "Sum of total liabilities and total equity, which should equal total assets per the fundamental accounting equation.", + "format": "double", + "type": "number" + }, + "treasury_stock": { + "description": "Cost of the company's own shares that have been repurchased and are held in treasury, typically reported as a negative value.", + "format": "double", + "type": "number" + } + }, + "required": [ + "timeframe" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/stocks/financials/v1/cash-flow-statements": { + "get": { + "description": "A comprehensive financial dataset containing quarterly, annual, and trailing twelve-month cash flow statement data for public companies. Includes detailed operating, investing, and financing cash flows with proper TTM calculations that sum all cash flow components over four quarters. TTM records are validated to ensure exactly four distinct quarters spanning 250-400 days for accurate trailing twelve-month cash flow analysis.", + "operationId": "get_stocks_financials_v1_cash-flow-statements", + "parameters": [ + { + "description": "The company's Central Index Key (CIK), a unique identifier assigned by the U.S. Securities and Exchange Commission (SEC). You can look up a company’s CIK using the [SEC CIK Lookup tool](https://www.sec.gov/search-filings/cik-lookup).", + "in": "query", + "name": "cik", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "cik.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "cik.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "cik.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "cik.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "cik.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The last date of the reporting period (formatted as YYYY-MM-DD). Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The date when the financial statement was filed with the SEC. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain the value.", + "in": "query", + "name": "tickers", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.all_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "The fiscal year for the reporting period. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "The fiscal quarter number (1, 2, 3, or 4) for the reporting period. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "The reporting period type. Possible values include: quarterly, annual, trailing_twelve_months.", + "in": "query", + "name": "timeframe", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "timeframe.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "timeframe.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "timeframe.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "timeframe.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "timeframe.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'period_end' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "period_end.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "d6d389ca03a0450d93c4ecb13ff26dae", + "results": [ + { + "cash_from_operating_activities_continuing_operations": 27867000000, + "change_in_cash_and_equivalents": 8107000000, + "change_in_other_operating_assets_and_liabilities_net": -2034000000, + "cik": "0000320193", + "depreciation_depletion_and_amortization": 2830000000, + "dividends": -3945000000, + "filing_date": "2025-08-01", + "fiscal_quarter": 3, + "fiscal_year": 2025, + "long_term_debt_issuances_repayments": -1192000000, + "net_cash_from_financing_activities": -24833000000, + "net_cash_from_financing_activities_continuing_operations": -24833000000, + "net_cash_from_investing_activities": 5073000000, + "net_cash_from_investing_activities_continuing_operations": 5073000000, + "net_cash_from_operating_activities": 27867000000, + "net_income": 23434000000, + "other_financing_activities": -23599000000, + "other_investing_activities": 8535000000, + "other_operating_activities": 3637000000, + "period_end": "2025-06-28", + "purchase_of_property_plant_and_equipment": -3462000000, + "short_term_debt_issuances_repayments": 3903000000, + "tickers": [ + "AAPL" + ], + "timeframe": "quarterly" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "cash_from_operating_activities_continuing_operations": { + "description": "Cash generated from continuing business operations before discontinued operations.", + "format": "double", + "type": "number" + }, + "change_in_cash_and_equivalents": { + "description": "Net change in cash and cash equivalents during the period, representing the sum of operating, investing, and financing cash flows plus currency effects.", + "format": "double", + "type": "number" + }, + "change_in_other_operating_assets_and_liabilities_net": { + "description": "Net change in working capital components including accounts receivable, inventory, accounts payable, and other operating items.", + "format": "double", + "type": "number" + }, + "cik": { + "description": "The company's Central Index Key (CIK), a unique identifier assigned by the U.S. Securities and Exchange Commission (SEC). You can look up a company’s CIK using the [SEC CIK Lookup tool](https://www.sec.gov/search-filings/cik-lookup).", + "type": "string" + }, + "depreciation_depletion_and_amortization": { + "description": "Non-cash charges for the reduction in value of tangible and intangible assets over time.", + "format": "double", + "type": "number" + }, + "dividends": { + "description": "Cash payments to shareholders in the form of dividends, typically reported as negative values.", + "format": "double", + "type": "number" + }, + "effect_of_currency_exchange_rate": { + "description": "Impact of foreign exchange rate changes on cash and cash equivalents denominated in foreign currencies.", + "format": "double", + "type": "number" + }, + "filing_date": { + "description": "The date when the financial statement was filed with the SEC.", + "format": "date", + "type": "string" + }, + "fiscal_quarter": { + "description": "The fiscal quarter number (1, 2, 3, or 4) for the reporting period.", + "format": "double", + "type": "number" + }, + "fiscal_year": { + "description": "The fiscal year for the reporting period.", + "format": "double", + "type": "number" + }, + "income_loss_from_discontinued_operations": { + "description": "After-tax income or loss from business operations that have been discontinued.", + "format": "double", + "type": "number" + }, + "long_term_debt_issuances_repayments": { + "description": "Net cash flows from issuing or repaying long-term debt obligations.", + "format": "double", + "type": "number" + }, + "net_cash_from_financing_activities": { + "description": "Total cash generated or used by financing activities, including debt issuance, debt repayment, dividends, and share transactions.", + "format": "double", + "type": "number" + }, + "net_cash_from_financing_activities_continuing_operations": { + "description": "Cash flows from financing activities of continuing operations before discontinued operations.", + "format": "double", + "type": "number" + }, + "net_cash_from_financing_activities_discontinued_operations": { + "description": "Cash flows from financing activities of discontinued business segments.", + "format": "double", + "type": "number" + }, + "net_cash_from_investing_activities": { + "description": "Total cash generated or used by investing activities, including capital expenditures, acquisitions, and asset sales.", + "format": "double", + "type": "number" + }, + "net_cash_from_investing_activities_continuing_operations": { + "description": "Cash flows from investing activities of continuing operations before discontinued operations.", + "format": "double", + "type": "number" + }, + "net_cash_from_investing_activities_discontinued_operations": { + "description": "Cash flows from investing activities of discontinued business segments.", + "format": "double", + "type": "number" + }, + "net_cash_from_operating_activities": { + "description": "Total cash generated or used by operating activities, representing cash flow from core business operations.", + "format": "double", + "type": "number" + }, + "net_cash_from_operating_activities_discontinued_operations": { + "description": "Cash flows from operating activities of discontinued business segments.", + "format": "double", + "type": "number" + }, + "net_income": { + "description": "Net income used as the starting point for operating cash flow calculations.", + "format": "double", + "type": "number" + }, + "noncontrolling_interests": { + "description": "Cash flows related to minority shareholders in consolidated subsidiaries.", + "format": "double", + "type": "number" + }, + "other_cash_adjustments": { + "description": "Other miscellaneous adjustments to cash flows not classified elsewhere.", + "format": "double", + "type": "number" + }, + "other_financing_activities": { + "description": "Cash flows from financing activities not classified elsewhere, including share repurchases and other equity transactions.", + "format": "double", + "type": "number" + }, + "other_investing_activities": { + "description": "Cash flows from investing activities not classified elsewhere, including acquisitions, divestitures, and investments.", + "format": "double", + "type": "number" + }, + "other_operating_activities": { + "description": "Other adjustments to reconcile net income to operating cash flow not classified elsewhere.", + "format": "double", + "type": "number" + }, + "period_end": { + "description": "The last date of the reporting period (formatted as YYYY-MM-DD).", + "format": "date", + "type": "string" + }, + "purchase_of_property_plant_and_equipment": { + "description": "Cash outflows for capital expenditures on fixed assets, typically reported as negative values.", + "format": "double", + "type": "number" + }, + "sale_of_property_plant_and_equipment": { + "description": "Cash inflows from disposing of fixed assets, typically reported as positive values.", + "format": "double", + "type": "number" + }, + "short_term_debt_issuances_repayments": { + "description": "Net cash flows from issuing or repaying short-term debt obligations.", + "format": "double", + "type": "number" + }, + "tickers": { + "description": "A list of ticker symbols under which the company is listed. Multiple symbols may indicate different share classes for the same company.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeframe": { + "description": "The reporting period type. Possible values include: quarterly, annual, trailing_twelve_months.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/stocks/financials/v1/income-statements": { + "get": { + "description": "A comprehensive database of income statement financial data for public companies, including key metrics such as revenue, expenses, and net income for various reporting periods.", + "operationId": "get_stocks_financials_v1_income-statements", + "parameters": [ + { + "description": "The company's Central Index Key (CIK), a unique identifier assigned by the U.S. Securities and Exchange Commission (SEC). You can look up a company’s CIK using the [SEC CIK Lookup tool](https://www.sec.gov/search-filings/cik-lookup).", + "in": "query", + "name": "cik", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "cik.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "cik.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "cik.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "cik.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "cik.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain the value.", + "in": "query", + "name": "tickers", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.all_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "tickers.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "The last date of the reporting period (formatted as YYYY-MM-DD). Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "period_end.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The date when the financial statement was filed with the SEC. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.", + "in": "query", + "name": "filing_date.lte", + "schema": { + "type": "string" + } + }, + { + "description": "The fiscal year for the reporting period. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_year.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "The fiscal quarter number (1, 2, 3, or 4) for the reporting period. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "fiscal_quarter.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "The reporting period type. Possible values include: quarterly, annual, trailing_twelve_months.", + "in": "query", + "name": "timeframe", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "timeframe.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "timeframe.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "timeframe.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "timeframe.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "timeframe.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'period_end' if not specified. The sort order defaults to 'asc' if not specified.", + "in": "query", + "name": "sort", + "schema": { + "default": "period_end.asc", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "request_id": "5b3cc7c674b34fdd89034b74500bfab5", + "results": [ + { + "basic_earnings_per_share": 1.57, + "basic_shares_outstanding": 14902886000, + "cik": "0000320193", + "consolidated_net_income_loss": 23434000000, + "cost_of_revenue": 50318000000, + "diluted_earnings_per_share": 1.57, + "diluted_shares_outstanding": 14948179000, + "ebitda": 31032000000, + "filing_date": "2025-08-01", + "fiscal_quarter": 3, + "fiscal_year": 2025, + "gross_profit": 43718000000, + "income_before_income_taxes": 28031000000, + "income_taxes": 4597000000, + "net_income_loss_attributable_common_shareholders": 23434000000, + "operating_income": 28202000000, + "other_income_expense": -171000000, + "other_operating_expenses": 0, + "period_end": "2025-06-28", + "research_development": 8866000000, + "revenue": 94036000000, + "selling_general_administrative": 6650000000, + "tickers": [ + "AAPL" + ], + "timeframe": "quarterly", + "total_operating_expenses": 15516000000, + "total_other_income_expense": -171000000 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "basic_earnings_per_share": { + "description": "Earnings per share calculated using the weighted average number of basic shares outstanding. For TTM records, recalculated as TTM net income divided by average basic shares outstanding over the four quarters.", + "format": "double", + "type": "number" + }, + "basic_shares_outstanding": { + "description": "Weighted average number of common shares outstanding during the period, used in basic EPS calculation. For TTM records, represents the average over the four most recent quarters.", + "format": "double", + "type": "number" + }, + "cik": { + "description": "The company's Central Index Key (CIK), a unique identifier assigned by the U.S. Securities and Exchange Commission (SEC). You can look up a company’s CIK using the [SEC CIK Lookup tool](https://www.sec.gov/search-filings/cik-lookup).", + "type": "string" + }, + "consolidated_net_income_loss": { + "description": "Total net income or loss for the consolidated entity including all subsidiaries.", + "format": "double", + "type": "number" + }, + "cost_of_revenue": { + "description": "Direct costs attributable to the production of goods or services sold, also known as cost of goods sold (COGS).", + "format": "double", + "type": "number" + }, + "depreciation_depletion_amortization": { + "description": "Non-cash expenses representing the allocation of asset costs over their useful lives.", + "format": "double", + "type": "number" + }, + "diluted_earnings_per_share": { + "description": "Earnings per share calculated using diluted shares outstanding, including the effect of potentially dilutive securities. For TTM records, recalculated as TTM net income divided by average diluted shares outstanding over the four quarters.", + "format": "double", + "type": "number" + }, + "diluted_shares_outstanding": { + "description": "Weighted average number of shares outstanding including the dilutive effect of stock options, warrants, and convertible securities. For TTM records, represents the average over the four most recent quarters.", + "format": "double", + "type": "number" + }, + "discontinued_operations": { + "description": "After-tax results from business segments that have been or will be disposed of.", + "format": "double", + "type": "number" + }, + "ebitda": { + "description": "Earnings before interest, taxes, depreciation, and amortization, a measure of operating performance.", + "format": "double", + "type": "number" + }, + "equity_in_affiliates": { + "description": "The company's share of income or losses from equity method investments in affiliated companies.", + "format": "double", + "type": "number" + }, + "extraordinary_items": { + "description": "Unusual and infrequent gains or losses that are both unusual in nature and infrequent in occurrence.", + "format": "double", + "type": "number" + }, + "filing_date": { + "description": "The date when the financial statement was filed with the SEC.", + "format": "date", + "type": "string" + }, + "fiscal_quarter": { + "description": "The fiscal quarter number (1, 2, 3, or 4) for the reporting period.", + "format": "double", + "type": "number" + }, + "fiscal_year": { + "description": "The fiscal year for the reporting period.", + "format": "double", + "type": "number" + }, + "gross_profit": { + "description": "Revenue minus cost of revenue, representing profit before operating expenses.", + "format": "double", + "type": "number" + }, + "income_before_income_taxes": { + "description": "Pre-tax income calculated as operating income plus total other income/expense.", + "format": "double", + "type": "number" + }, + "income_taxes": { + "description": "Income tax expense or benefit for the period.", + "format": "double", + "type": "number" + }, + "interest_expense": { + "description": "Cost of borrowed funds, including interest on debt and other financing obligations.", + "format": "double", + "type": "number" + }, + "interest_income": { + "description": "Income earned from interest-bearing investments and cash equivalents.", + "format": "double", + "type": "number" + }, + "net_income_loss_attributable_common_shareholders": { + "description": "Net income or loss available to common shareholders after preferred dividends and noncontrolling interests.", + "format": "double", + "type": "number" + }, + "noncontrolling_interest": { + "description": "The portion of net income attributable to minority shareholders in consolidated subsidiaries.", + "format": "double", + "type": "number" + }, + "operating_income": { + "description": "Income from operations calculated as gross profit minus total operating expenses, excluding non-operating items.", + "format": "double", + "type": "number" + }, + "other_income_expense": { + "description": "Non-operating income and expenses not related to the company's core business operations.", + "format": "double", + "type": "number" + }, + "other_operating_expenses": { + "description": "Operating expenses not classified in the main expense categories.", + "format": "double", + "type": "number" + }, + "period_end": { + "description": "The last date of the reporting period (formatted as YYYY-MM-DD).", + "format": "date", + "type": "string" + }, + "preferred_stock_dividends_declared": { + "description": "Dividends declared on preferred stock during the period.", + "format": "double", + "type": "number" + }, + "research_development": { + "description": "Expenses incurred for research and development activities to create new products or improve existing ones.", + "format": "double", + "type": "number" + }, + "revenue": { + "description": "Total revenue or net sales for the period, representing the company's gross income from operations.", + "format": "double", + "type": "number" + }, + "selling_general_administrative": { + "description": "Expenses related to selling products and general administrative costs not directly tied to production.", + "format": "double", + "type": "number" + }, + "tickers": { + "description": "A list of ticker symbols under which the company is listed. Multiple symbols may indicate different share classes for the same company.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeframe": { + "description": "The reporting period type. Possible values include: quarterly, annual, trailing_twelve_months.", + "type": "string" + }, + "total_operating_expenses": { + "description": "Sum of all operating expenses including cost of revenue, SG&A, R&D, depreciation, and other operating expenses.", + "format": "double", + "type": "number" + }, + "total_other_income_expense": { + "description": "Net total of all non-operating income and expenses including interest income, interest expense, and other items.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." + } + }, + "tags": [ + "default" + ] + } + }, + "/stocks/financials/v1/ratios": { + "get": { + "description": "A comprehensive financial ratios dataset providing key valuation, profitability, liquidity, and leverage metrics for public companies. Combines data from income statements, balance sheets, and cash flow statements with daily stock prices to calculate ratios on a daily basis. Uses trailing twelve months (TTM) data for income/cash flow metrics and quarterly data for balance sheet items. Fundamental data updates are applied starting from each filing's period end date. Market cap calculations use point-in-time shares outstanding for historical accuracy.", + "operationId": "get_stocks_financials_v1_ratios", + "parameters": [ + { + "description": "Stock ticker symbol for the company.", + "in": "query", + "name": "ticker", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "ticker.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "ticker.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "ticker.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "ticker.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "ticker.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Central Index Key (CIK) number assigned by the SEC to identify the company.", + "in": "query", + "name": "cik", + "schema": { + "type": "string" + } + }, + { + "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.", + "in": "query", + "name": "cik.any_of", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than the value.", + "in": "query", + "name": "cik.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter greater than or equal to the value.", + "in": "query", + "name": "cik.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than the value.", + "in": "query", + "name": "cik.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Filter less than or equal to the value.", + "in": "query", + "name": "cik.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Stock price used in ratio calculations, typically the closing price for the given date. Value must be a floating point number.", + "in": "query", + "name": "price", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "price.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "price.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Average trading volume over the last 30 trading days, providing context for liquidity. Value must be a floating point number.", + "in": "query", + "name": "average_volume", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "average_volume.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "average_volume.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "average_volume.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "average_volume.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Market capitalization, calculated as stock price multiplied by total shares outstanding. Value must be a floating point number.", + "in": "query", + "name": "market_cap", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "market_cap.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "market_cap.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "market_cap.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "market_cap.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Earnings per share, calculated as net income available to common shareholders divided by weighted shares outstanding. Value must be a floating point number.", + "in": "query", + "name": "earnings_per_share", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "earnings_per_share.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "earnings_per_share.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "earnings_per_share.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "earnings_per_share.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Price-to-earnings ratio, calculated as stock price divided by earnings per share. Only calculated when earnings per share is positive. Value must be a floating point number.", + "in": "query", + "name": "price_to_earnings", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_earnings.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_earnings.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_earnings.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_earnings.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Price-to-book ratio, calculated as stock price divided by book value per share, comparing market value to book value. Value must be a floating point number.", + "in": "query", + "name": "price_to_book", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_book.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_book.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_book.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_book.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Price-to-sales ratio, calculated as stock price divided by revenue per share, measuring valuation relative to sales. Value must be a floating point number.", + "in": "query", + "name": "price_to_sales", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_sales.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_sales.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_sales.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_sales.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Price-to-cash-flow ratio, calculated as stock price divided by operating cash flow per share. Only calculated when operating cash flow per share is positive. Value must be a floating point number.", + "in": "query", + "name": "price_to_cash_flow", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_cash_flow.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_cash_flow.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_cash_flow.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_cash_flow.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Price-to-free-cash-flow ratio, calculated as stock price divided by free cash flow per share. Only calculated when free cash flow per share is positive. Value must be a floating point number.", + "in": "query", + "name": "price_to_free_cash_flow", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_free_cash_flow.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_free_cash_flow.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_free_cash_flow.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "price_to_free_cash_flow.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Dividend yield, calculated as annual dividends per share divided by stock price, measuring the income return on investment. Value must be a floating point number.", + "in": "query", + "name": "dividend_yield", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "dividend_yield.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "dividend_yield.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "dividend_yield.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "dividend_yield.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Return on assets ratio, calculated as net income divided by total assets, measuring how efficiently a company uses its assets to generate profit. Value must be a floating point number.", + "in": "query", + "name": "return_on_assets", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_assets.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_assets.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_assets.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_assets.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Return on equity ratio, calculated as net income divided by total shareholders' equity, measuring profitability relative to shareholders' equity. Value must be a floating point number.", + "in": "query", + "name": "return_on_equity", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_equity.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_equity.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_equity.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "return_on_equity.lte", + "schema": { + "format": "double", + "type": "number" + } + }, { - "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", - "example": "GCJ5", - "in": "path", - "name": "ticker", - "required": true, + "description": "Debt-to-equity ratio, calculated as total debt (current debt plus long-term debt) divided by total shareholders' equity, measuring financial leverage. Value must be a floating point number.", + "in": "query", + "name": "debt_to_equity", "schema": { - "type": "string" - }, - "x-polygon-go-id": "Ticker" + "format": "double", + "type": "number" + } }, { - "description": "Query by trade timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.", + "description": "Filter greater than the value. Value must be a floating point number.", "in": "query", - "name": "timestamp", + "name": "debt_to_equity.gt", "schema": { - "type": "string" - }, - "x-polygon-filter-field": { - "range": true + "format": "double", + "type": "number" } }, { - "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "description": "Filter greater than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date", + "name": "debt_to_equity.gte", "schema": { - "type": "string" - }, - "x-polygon-filter-field": { - "range": true + "format": "double", + "type": "number" } }, { - "description": "The number of results to return per page (default=1000, maximum=50000, minimum=1).", + "description": "Filter less than the value. Value must be a floating point number.", "in": "query", - "name": "limit", + "name": "debt_to_equity.lt", "schema": { - "default": 1000, - "maximum": 50000, - "minimum": 1, - "type": "integer" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Filter less than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "timestamp.gte", + "name": "debt_to_equity.lte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Current ratio, calculated as total current assets divided by total current liabilities, measuring short-term liquidity. Value must be a floating point number.", "in": "query", - "name": "timestamp.gt", + "name": "current", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Filter greater than the value. Value must be a floating point number.", "in": "query", - "name": "timestamp.lte", + "name": "current.gt", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Filter greater than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "timestamp.lt", + "name": "current.gte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Filter less than the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date.gte", + "name": "current.lt", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Filter less than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date.gt", + "name": "current.lte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Quick ratio (acid-test ratio), calculated as (current assets minus inventories) divided by current liabilities, measuring immediate liquidity. Value must be a floating point number.", "in": "query", - "name": "session_end_date.lte", + "name": "quick", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Filter greater than the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date.lt", + "name": "quick.gt", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "Filter greater than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "sort", + "name": "quick.gte", "schema": { - "default": "timestamp.desc", - "enum": [ - "timestamp.asc", - "timestamp.desc" - ], - "example": "timestamp.desc", - "type": "string" + "format": "double", + "type": "number" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "example": { - "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", - "results": [ - { - "ask_price": 604075, - "ask_size": 6, - "ask_timestamp": 1734467086235923000, - "bid_price": 604075, - "bid_size": 6, - "bid_timestamp": 1734415473057885400, - "session_end_date": "2024-12-17", - "ticker": "ESZ4", - "timestamp": 1734476400002853000 - }, - { - "ask_price": 604100, - "ask_size": 2, - "ask_timestamp": 1734466901129138400, - "bid_price": 604100, - "bid_size": 2, - "bid_timestamp": 1734415473057885400, - "session_end_date": "2024-12-17", - "ticker": "ESZ4", - "timestamp": 1734466901128680000 - } - ], - "status": "OK" - }, - "schema": { - "properties": { - "next_url": { - "description": "If present, this value can be used to fetch the next page of data.", - "type": "string" - }, - "results": { - "items": { - "properties": { - "ask_price": { - "description": "The ask price is expressed per unit of the underlying asset, and you apply the contract multiplier to get the full contract value.", - "format": "double", - "type": "number" - }, - "ask_size": { - "description": "The quote size represents the number of futures contracts available at the given ask price.", - "format": "double", - "type": "number" - }, - "ask_timestamp": { - "description": "The time when the ask price was submitted to the exchange.", - "type": "integer", - "x-polygon-go-type": { - "name": "IMilliseconds", - "path": "github.com/polygon-io/ptime" - } - }, - "bid_price": { - "description": "The bid price is expressed per unit of the underlying asset, and you apply the contract multiplier to get the full contract value.", - "format": "double", - "type": "number" - }, - "bid_size": { - "description": "The quote size represents the number of futures contracts available at the given bid price.", - "format": "double", - "type": "number" - }, - "bid_timestamp": { - "description": "The time when the bid price was submitted to the exchange.", - "type": "integer", - "x-polygon-go-type": { - "name": "IMilliseconds", - "path": "github.com/polygon-io/ptime" - } - }, - "session_end_date": { - "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", - "type": "string" - }, - "ticker": { - "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", - "type": "string" - }, - "timestamp": { - "description": "The time when the quote was generated at the exchange to nanosecond precision.", - "type": "integer", - "x-polygon-go-type": { - "name": "IMilliseconds", - "path": "github.com/polygon-io/ptime" - } - } - }, - "required": [ - "price", - "size" - ], - "type": "object", - "x-polygon-go-type": { - "name": "Futures" - } - }, - "type": "array" - }, - "status": { - "description": "The status of this request's response.", - "type": "string" - } - }, - "required": [ - "status" - ], - "type": "object" - } - } - }, - "description": "A list of quotes." - } - }, - "summary": "Quotes", - "tags": [ - "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Futures quotes data", - "name": "nbbo" - }, - "x-polygon-entitlement-market-type": { - "description": "Futures data", - "name": "futures" - }, - "x-polygon-replaces": { - "date": 1654056060000, - "replaces": { - "name": "Quotes", - "path": "get_v1_us_futures_quotes__ticker___date" - } - } - } - }, - "/futures/vX/schedules": { - "get": { - "description": "The Trading-Date Based Futures Schedules API provides detailed trading schedules for all products on a specific day. This API allows you to retrieve detailed information about trading sessions, including market events like preopen, open, and closed, along with their precise timestamps.", - "operationId": "GetFuturesDailySchedules", - "parameters": [ + }, { - "description": "The session end date for the schedules (also known as the trading date). This is the day in CT for which the user wants to retrieve data. If left blank, this value defaults to 'today' in Central Time. e.g. If a request is made from Pacific Time on '2025-01-01' at 11:00 pm with no 'session_end_date' a default value of `2025-01-02` will be used.", + "description": "Filter less than the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date", + "name": "quick.lt", "schema": { - "format": "date", - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "The trading venue (MIC) of the exchange for the schedules.", + "description": "Filter less than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "trading_venue", + "name": "quick.lte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "The number of results to return per page (default=100, max=1000, min=1).", + "description": "Cash ratio, calculated as cash and cash equivalents divided by current liabilities, measuring the most liquid form of liquidity coverage. Value must be a floating point number.", "in": "query", - "name": "limit", + "name": "cash", "schema": { - "default": 100, - "maximum": 1000, - "minimum": 1, - "type": "integer" + "format": "double", + "type": "number" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "Filter greater than the value. Value must be a floating point number.", "in": "query", - "name": "sort", + "name": "cash.gt", "schema": { - "default": "trading_venue.asc", - "enum": [ - "trading_venue.asc", - "trading_venue.desc" - ], - "example": "trading_venue.asc", - "type": "string" + "format": "double", + "type": "number" } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "example": { - "next_url": "http://api.polygon.io/futures/vX/schedules?cursor=YXA9MUUmYXM9WE5ZTSZsaW1pdD0yJm9yZGVyPWFzYyZzb3J0PXByb2R1Y3RfY29kZSZ0cmFkaW5nX2RhdGU9MjAyNC0xMS0yNQ", - "request_id": "000a000a0a0a000a0a0aa00a0a0000a0", - "results": [ - { - "product_code": "10Y", - "product_name": "10-YEAR YIELD CAL SPD", - "schedule": [ - { - "event": "pre_open", - "timestamp": "2025-07-06T16:00:00-05:00" - }, - { - "event": "open", - "timestamp": "2025-07-06T17:00:00-05:00" - }, - { - "event": "close", - "timestamp": "2025-07-07T16:00:00-05:00" - } - ], - "session_end_date": "2025-07-07", - "trading_venue": "XCBT" - }, - { - "product_code": "10Y", - "product_name": "10-Year Yield Futures", - "schedule": [ - { - "event": "pre_open", - "timestamp": "2025-07-06T16:00:00-05:00" - }, - { - "event": "open", - "timestamp": "2025-07-06T17:00:00-05:00" - }, - { - "event": "close", - "timestamp": "2025-07-07T16:00:00-05:00" - } - ], - "session_end_date": "2025-07-07", - "trading_venue": "XCBT" - } - ], - "status": "OK" - }, - "schema": { - "properties": { - "next_url": { - "description": "The URL for the next page of results.", - "type": "string" - }, - "request_id": { - "description": "The unique identifier for this request.", - "type": "string" - }, - "results": { - "description": "A list of schedules for each product.", - "items": { - "properties": { - "product_code": { - "description": "The product code for the futures product to which this schedule applies.", - "type": "string" - }, - "product_name": { - "description": "The name of the futures product to which this schedule applies.", - "type": "string" - }, - "schedule": { - "items": { - "properties": { - "event": { - "description": "The market event for this schedule.", - "enum": [ - "pre_open", - "open", - "close", - "pause", - "post_close_pre_open" - ], - "type": "string" - }, - "timestamp": { - "description": "The timestamp for this market event in Central Time.", - "format": "time", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "session_end_date": { - "description": "The date on which the schedule's trading day ended (sometimes referred to as trading date) formatted as `YYYY-MM-DD`. Note that although there is no time component on this attribute, the day refers to Central Time.", - "format": "date", - "type": "string" - }, - "trading_venue": { - "description": "The trading venue (MIC) for the exchange on which this schedule's product trades.", - "type": "string" - } - }, - "type": "object", - "x-polygon-go-type": { - "name": "SchedulesResult" - } - }, - "type": "array" - }, - "status": { - "description": "The status of the response.", - "type": "string" - } - }, - "type": "object" - } - } - }, - "description": "A list of schedules for a given day." - } - }, - "summary": "Daily Schedules", - "tags": [ - "default" - ], - "x-polygon-entitlement-data-type": { - "description": "Reference data", - "name": "reference" - } - } - }, - "/futures/vX/trades/{ticker}": { - "get": { - "description": "Get trades for a contract in a given time range.", - "operationId": "GetFuturesTrades", - "parameters": [ + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "cash.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "cash.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "cash.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Enterprise value to sales ratio, calculated as enterprise value divided by revenue, measuring company valuation relative to sales. Value must be a floating point number.", + "in": "query", + "name": "ev_to_sales", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "ev_to_sales.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "ev_to_sales.gte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "ev_to_sales.lt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter less than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "ev_to_sales.lte", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Enterprise value to EBITDA ratio, calculated as enterprise value divided by EBITDA, measuring company valuation relative to earnings before interest, taxes, depreciation, and amortization. Value must be a floating point number.", + "in": "query", + "name": "ev_to_ebitda", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than the value. Value must be a floating point number.", + "in": "query", + "name": "ev_to_ebitda.gt", + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "Filter greater than or equal to the value. Value must be a floating point number.", + "in": "query", + "name": "ev_to_ebitda.gte", + "schema": { + "format": "double", + "type": "number" + } + }, { - "description": "The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).", - "example": "GCJ5", - "in": "path", - "name": "ticker", - "required": true, + "description": "Filter less than the value. Value must be a floating point number.", + "in": "query", + "name": "ev_to_ebitda.lt", "schema": { - "type": "string" - }, - "x-polygon-go-id": "Ticker" + "format": "double", + "type": "number" + } }, { - "description": "Query by trade timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.", + "description": "Filter less than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "timestamp", + "name": "ev_to_ebitda.lte", "schema": { - "type": "string" - }, - "x-polygon-filter-field": { - "range": true + "format": "double", + "type": "number" } }, { - "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "description": "Enterprise value, calculated as market capitalization plus total debt minus cash and cash equivalents, representing total company value. Value must be a floating point number.", "in": "query", - "name": "session_end_date", + "name": "enterprise_value", "schema": { - "type": "string" - }, - "x-polygon-filter-field": { - "range": true + "format": "double", + "type": "number" } }, { - "description": "The number of results to return per page (default=1000, maximum=50000, minimum=1).", + "description": "Filter greater than the value. Value must be a floating point number.", "in": "query", - "name": "limit", + "name": "enterprise_value.gt", "schema": { - "default": 1000, - "maximum": 50000, - "minimum": 1, - "type": "integer" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Filter greater than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "timestamp.gte", + "name": "enterprise_value.gte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Filter less than the value. Value must be a floating point number.", "in": "query", - "name": "timestamp.gt", + "name": "enterprise_value.lt", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Filter less than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "timestamp.lte", + "name": "enterprise_value.lte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by timestamp.", + "description": "Free cash flow, calculated as operating cash flow minus capital expenditures (purchase of property, plant, and equipment). Value must be a floating point number.", "in": "query", - "name": "timestamp.lt", + "name": "free_cash_flow", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Filter greater than the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date.gte", + "name": "free_cash_flow.gt", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Filter greater than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date.gt", + "name": "free_cash_flow.gte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Filter less than the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date.lte", + "name": "free_cash_flow.lt", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Range by session_end_date.", + "description": "Filter less than or equal to the value. Value must be a floating point number.", "in": "query", - "name": "session_end_date.lt", + "name": "free_cash_flow.lte", "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').", + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '50000'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 50001, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'ticker' if not specified. The sort order defaults to 'asc' if not specified.", "in": "query", "name": "sort", "schema": { - "default": "timestamp.desc", - "enum": [ - "timestamp.asc", - "timestamp.desc" - ], - "example": "timestamp.desc", + "default": "ticker.asc", "type": "string" } } @@ -11645,28 +20189,33 @@ "content": { "application/json": { "example": { - "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", + "count": 1, + "request_id": "8f5374516fec4a819070e53609f47fab", "results": [ { - "price": 605400, - "session_end_date": "2024-12-17", - "size": 12, - "ticker": "ESZ4", - "timestamp": 1734484219379895800 - }, - { - "price": 605412, - "session_end_date": "2024-12-17", - "size": 55, - "ticker": "ESZ4", - "timestamp": 1734484212100118500 - }, - { - "price": 605544, - "session_end_date": "2024-12-17", - "size": 36, - "ticker": "ESZ4", - "timestamp": 1734484212099944200 + "average_volume": 47500000, + "cash": 0.19, + "cik": "320193", + "current": 0.68, + "date": "2024-09-19", + "debt_to_equity": 1.52, + "dividend_yield": 0.0044, + "earnings_per_share": 6.57, + "enterprise_value": 3555509835190, + "ev_to_ebitda": 26.98, + "ev_to_sales": 9.22, + "free_cash_flow": 104339000000, + "market_cap": 3479770835190, + "price": 228.87, + "price_to_book": 52.16, + "price_to_cash_flow": 30.78, + "price_to_earnings": 34.84, + "price_to_free_cash_flow": 33.35, + "price_to_sales": 9.02, + "quick": 0.63, + "return_on_assets": 0.3075, + "return_on_equity": 1.5284, + "ticker": "AAPL" } ], "status": "OK" @@ -11674,88 +20223,364 @@ "schema": { "properties": { "next_url": { - "description": "If present, this value can be used to fetch the next page of data.", + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", "type": "string" }, "results": { + "description": "The results for this request.", "items": { "properties": { - "price": { - "description": "The price of the trade. This is the actual dollar value per whole contract of this trade. A trade of 100 contracts with a price of $2.00 would be worth a total dollar value of $200.00.", + "average_volume": { + "description": "Average trading volume over the last 30 trading days, providing context for liquidity.", "format": "double", "type": "number" }, - "session_end_date": { - "description": "Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.", + "cash": { + "description": "Cash ratio, calculated as cash and cash equivalents divided by current liabilities, measuring the most liquid form of liquidity coverage.", + "format": "double", + "type": "number" + }, + "cik": { + "description": "Central Index Key (CIK) number assigned by the SEC to identify the company.", "type": "string" }, - "size": { - "description": "The total number of contracts exchanged between buyers and sellers on a given trade.", + "current": { + "description": "Current ratio, calculated as total current assets divided by total current liabilities, measuring short-term liquidity.", "format": "double", "type": "number" }, - "ticker": { - "description": "ticker of the trade", + "date": { + "description": "Date for which the ratios are calculated, representing the trading date with available price data.", "type": "string" }, - "timestamp": { - "description": "The time when the trade was generated at the exchange to nanosecond precision.", - "type": "integer", - "x-polygon-go-type": { - "name": "IMilliseconds", - "path": "github.com/polygon-io/ptime" - } + "debt_to_equity": { + "description": "Debt-to-equity ratio, calculated as total debt (current debt plus long-term debt) divided by total shareholders' equity, measuring financial leverage.", + "format": "double", + "type": "number" + }, + "dividend_yield": { + "description": "Dividend yield, calculated as annual dividends per share divided by stock price, measuring the income return on investment.", + "format": "double", + "type": "number" + }, + "earnings_per_share": { + "description": "Earnings per share, calculated as net income available to common shareholders divided by weighted shares outstanding.", + "format": "double", + "type": "number" + }, + "enterprise_value": { + "description": "Enterprise value, calculated as market capitalization plus total debt minus cash and cash equivalents, representing total company value.", + "format": "double", + "type": "number" + }, + "ev_to_ebitda": { + "description": "Enterprise value to EBITDA ratio, calculated as enterprise value divided by EBITDA, measuring company valuation relative to earnings before interest, taxes, depreciation, and amortization.", + "format": "double", + "type": "number" + }, + "ev_to_sales": { + "description": "Enterprise value to sales ratio, calculated as enterprise value divided by revenue, measuring company valuation relative to sales.", + "format": "double", + "type": "number" + }, + "free_cash_flow": { + "description": "Free cash flow, calculated as operating cash flow minus capital expenditures (purchase of property, plant, and equipment).", + "format": "double", + "type": "number" + }, + "market_cap": { + "description": "Market capitalization, calculated as stock price multiplied by total shares outstanding.", + "format": "double", + "type": "number" + }, + "price": { + "description": "Stock price used in ratio calculations, typically the closing price for the given date.", + "format": "double", + "type": "number" + }, + "price_to_book": { + "description": "Price-to-book ratio, calculated as stock price divided by book value per share, comparing market value to book value.", + "format": "double", + "type": "number" + }, + "price_to_cash_flow": { + "description": "Price-to-cash-flow ratio, calculated as stock price divided by operating cash flow per share. Only calculated when operating cash flow per share is positive.", + "format": "double", + "type": "number" + }, + "price_to_earnings": { + "description": "Price-to-earnings ratio, calculated as stock price divided by earnings per share. Only calculated when earnings per share is positive.", + "format": "double", + "type": "number" + }, + "price_to_free_cash_flow": { + "description": "Price-to-free-cash-flow ratio, calculated as stock price divided by free cash flow per share. Only calculated when free cash flow per share is positive.", + "format": "double", + "type": "number" + }, + "price_to_sales": { + "description": "Price-to-sales ratio, calculated as stock price divided by revenue per share, measuring valuation relative to sales.", + "format": "double", + "type": "number" + }, + "quick": { + "description": "Quick ratio (acid-test ratio), calculated as (current assets minus inventories) divided by current liabilities, measuring immediate liquidity.", + "format": "double", + "type": "number" + }, + "return_on_assets": { + "description": "Return on assets ratio, calculated as net income divided by total assets, measuring how efficiently a company uses its assets to generate profit.", + "format": "double", + "type": "number" + }, + "return_on_equity": { + "description": "Return on equity ratio, calculated as net income divided by total shareholders' equity, measuring profitability relative to shareholders' equity.", + "format": "double", + "type": "number" + }, + "ticker": { + "description": "Stock ticker symbol for the company.", + "type": "string" } }, "required": [ - "price", - "size" + "ticker", + "date", + "price" ], - "type": "object", - "x-polygon-go-type": { - "name": "Futures" - } + "type": "object" }, "type": "array" }, "status": { "description": "The status of this request's response.", + "enum": [ + "OK" + ], "type": "string" } }, "required": [ - "status" + "status", + "request_id", + "results" ], "type": "object" } } }, - "description": "A list of trades." + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." } }, - "summary": "Trades", "tags": [ "default" + ] + } + }, + "/stocks/v1/exchanges": { + "get": { + "description": "US stock exchanges, trading venues, and reporting facilities including exchanges (NYSE, Nasdaq), Trade Reporting Facilities (TRF), Securities Information Processors (SIP), and OTC Reporting Facilities (ORF) for equity trading.", + "operationId": "get_stocks_v1_exchanges", + "parameters": [ + { + "description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '999'.", + "in": "query", + "name": "limit", + "schema": { + "default": 100, + "maximum": 1000, + "minimum": 1, + "type": "integer" + } + } ], - "x-polygon-entitlement-data-type": { - "description": "Futures trade data", - "name": "trades" - }, - "x-polygon-entitlement-market-type": { - "description": "Futures data", - "name": "futures" - }, - "x-polygon-replaces": { - "date": 1654056060000, - "replaces": { - "name": "Trades", - "path": "get_v1_us_futures_trades__ticker___date" + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "count": 2, + "request_id": 1, + "results": [ + { + "id": "10", + "locale": "US", + "mic": "XNYS", + "name": "New York Stock Exchange", + "operating_mic": "XNYS", + "participant_id": "N", + "type": "exchange", + "url": "https://www.nyse.com" + }, + { + "id": "12", + "locale": "US", + "mic": "XNAS", + "name": "Nasdaq", + "operating_mic": "XNAS", + "participant_id": "T", + "type": "exchange", + "url": "https://www.nasdaq.com" + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "The results for this request.", + "items": { + "properties": { + "acronym": { + "description": "Short acronym or abbreviation (may be null for some venues).", + "type": "string" + }, + "id": { + "description": "Numeric identifier for the trading venue or exchange.", + "type": "string" + }, + "locale": { + "description": "Geographic location code.", + "type": "string" + }, + "mic": { + "description": "Market Identifier Code (MIC) - ISO 10383 standard four-character code for the market (may be empty for some venues).", + "type": "string" + }, + "name": { + "description": "Full official name of the exchange, trading venue, or reporting facility.", + "type": "string" + }, + "operating_mic": { + "description": "Operating Market Identifier Code - identifies the specific operating entity or parent organization.", + "type": "string" + }, + "participant_id": { + "description": "Single-character participant identifier used in market data feeds and trade reporting.", + "type": "string" + }, + "type": { + "description": "Type of trading venue: 'exchange' for stock exchanges, 'TRF' for Trade Reporting Facilities, 'SIP' for Securities Information Processors, 'ORF' for OTC Reporting Facility.", + "type": "string" + }, + "url": { + "description": "Official website URL of the organization operating the venue.", + "type": "string" + } + }, + "required": [ + "id", + "type", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "OK" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "results" + ], + "type": "object" + } + } + }, + "description": "A list of results." + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "error": { + "description": "A message describing the source of the error.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "status": { + "description": "The status of this request's response.", + "enum": [ + "ERROR" + ], + "type": "string" + } + }, + "required": [ + "status", + "request_id", + "error" + ], + "type": "object" + } + } + }, + "description": "An error message." } - } + }, + "tags": [ + "default" + ] } }, "/stocks/v1/short-interest": { "get": { + "description": "Comprehensive FINRA short interest data that tracks the short selling metrics for securities on a specific settlement date.", "operationId": "get_stocks_v1_short-interest", "parameters": [ { @@ -12105,6 +20930,7 @@ }, "/stocks/v1/short-volume": { "get": { + "description": "Contains short selling volume for different stock tickers, capturing total trading volume, short sale details, and breakdown by different trading platforms.", "operationId": "get_stocks_v1_short-volume", "parameters": [ { @@ -12512,6 +21338,7 @@ }, "/tmx/v1/corporate-events": { "get": { + "description": "Contains corporate events and announcements for publicly traded companies, including earnings releases, conferences, dividends, and business updates sourced from TMX.", "operationId": "get_tmx_v1_corporate-events", "parameters": [ { @@ -12811,14 +21638,6 @@ "type": "integer" } }, - { - "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list. Value must be an integer.", - "in": "query", - "name": "tmx_company_id.any_of", - "schema": { - "type": "string" - } - }, { "description": "Filter greater than the value. Value must be an integer.", "in": "query", @@ -13173,7 +21992,7 @@ "type": "number" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "timestamp": { @@ -13375,7 +22194,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -13399,7 +22218,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -13597,7 +22416,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" } }, @@ -13795,11 +22614,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/ema/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/ema/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -13821,10 +22640,13 @@ "type": "string" }, "results": { + "description": "The results of the EMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -13897,6 +22719,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -13909,7 +22732,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -13932,6 +22755,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -14113,11 +22941,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/ema/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/ema/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -14139,10 +22967,13 @@ "type": "string" }, "results": { + "description": "The results of the EMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -14215,6 +23046,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -14227,7 +23059,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -14250,6 +23082,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -14431,11 +23268,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/ema/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz01MA", + "next_url": "https://api.massive.com/v1/indicators/ema/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz01MA", "request_id": "b9201816341441eed663a90443c0623a", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366449650?limit=226&sort=desc" + "url": "https://api.massive.com/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366449650?limit=226&sort=desc" }, "values": [ { @@ -14457,10 +23294,13 @@ "type": "string" }, "results": { + "description": "The results of the EMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -14533,6 +23373,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -14545,7 +23386,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -14568,6 +23409,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } } @@ -14744,11 +23590,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/ema/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/ema/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -14770,10 +23616,13 @@ "type": "string" }, "results": { + "description": "The results of the EMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -14846,6 +23695,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -14858,7 +23708,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -14881,6 +23731,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -15062,11 +23917,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/ema/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/ema/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -15088,10 +23943,13 @@ "type": "string" }, "results": { + "description": "The results of the EMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -15164,6 +24022,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -15176,7 +24035,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -15199,6 +24058,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -15389,11 +24253,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/macd/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/macd/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -15423,10 +24287,13 @@ "type": "string" }, "results": { + "description": "The results of the MACD indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -15499,10 +24366,11 @@ "type": "object" }, "values": { + "description": "Each entry in the values array represents MACD indicator data for a specific timestamp and includes:", "items": { "properties": { "histogram": { - "description": "The indicator value for this period.", + "description": "The difference between the MACD line (value) and the signal line (signal). Positive histogram values indicate upward (bullish) momentum, while negative histogram values indicate downward (bearish) momentum.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -15510,7 +24378,7 @@ } }, "signal": { - "description": "The indicator value for this period.", + "description": "The signal line value, calculated as the exponential moving average (EMA) of the MACD line (value) over the signal period defined in the request parameters. Traders typically use crossovers between the MACD and signal lines as trading signals.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -15527,7 +24395,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -15550,6 +24418,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -15751,11 +24624,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/macd/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/macd/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -15785,10 +24658,13 @@ "type": "string" }, "results": { + "description": "The results of the MACD indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -15861,10 +24737,11 @@ "type": "object" }, "values": { + "description": "Each entry in the values array represents MACD indicator data for a specific timestamp and includes:", "items": { "properties": { "histogram": { - "description": "The indicator value for this period.", + "description": "The difference between the MACD line (value) and the signal line (signal). Positive histogram values indicate upward (bullish) momentum, while negative histogram values indicate downward (bearish) momentum.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -15872,7 +24749,7 @@ } }, "signal": { - "description": "The indicator value for this period.", + "description": "The signal line value, calculated as the exponential moving average (EMA) of the MACD line (value) over the signal period defined in the request parameters. Traders typically use crossovers between the MACD and signal lines as trading signals.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -15889,7 +24766,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -15912,6 +24789,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -16113,11 +24995,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/macd/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MTUwODAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0yJmxvbmdfd2luZG93PTI2Jm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2Umc2hvcnRfd2luZG93PTEyJnNpZ25hbF93aW5kb3c9OSZ0aW1lc3Bhbj1kYXkmdGltZXN0YW1wLmx0PTE2ODcyMTkyMDAwMDA", + "next_url": "https://api.massive.com/v1/indicators/macd/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MTUwODAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0yJmxvbmdfd2luZG93PTI2Jm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2Umc2hvcnRfd2luZG93PTEyJnNpZ25hbF93aW5kb3c9OSZ0aW1lc3Bhbj1kYXkmdGltZXN0YW1wLmx0PTE2ODcyMTkyMDAwMDA", "request_id": "2eeda0be57e83cbc64cc8d1a74e84dbd", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366537196?limit=121&sort=desc" + "url": "https://api.massive.com/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366537196?limit=121&sort=desc" }, "values": [ { @@ -16147,10 +25029,13 @@ "type": "string" }, "results": { + "description": "The results of the MACD indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -16223,10 +25108,11 @@ "type": "object" }, "values": { + "description": "Each entry in the values array represents MACD indicator data for a specific timestamp and includes:", "items": { "properties": { "histogram": { - "description": "The indicator value for this period.", + "description": "The difference between the MACD line (value) and the signal line (signal). Positive histogram values indicate upward (bullish) momentum, while negative histogram values indicate downward (bearish) momentum.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16234,7 +25120,7 @@ } }, "signal": { - "description": "The indicator value for this period.", + "description": "The signal line value, calculated as the exponential moving average (EMA) of the MACD line (value) over the signal period defined in the request parameters. Traders typically use crossovers between the MACD and signal lines as trading signals.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16251,7 +25137,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16274,6 +25160,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } } @@ -16470,11 +25361,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/macd/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/macd/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -16504,10 +25395,13 @@ "type": "string" }, "results": { + "description": "The results of the MACD indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -16580,10 +25474,11 @@ "type": "object" }, "values": { + "description": "Each entry in the values array represents MACD indicator data for a specific timestamp and includes:", "items": { "properties": { "histogram": { - "description": "The indicator value for this period.", + "description": "The difference between the MACD line (value) and the signal line (signal). Positive histogram values indicate upward (bullish) momentum, while negative histogram values indicate downward (bearish) momentum.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16591,7 +25486,7 @@ } }, "signal": { - "description": "The indicator value for this period.", + "description": "The signal line value, calculated as the exponential moving average (EMA) of the MACD line (value) over the signal period defined in the request parameters. Traders typically use crossovers between the MACD and signal lines as trading signals.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16608,7 +25503,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16631,6 +25526,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -16832,11 +25732,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/macd/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/macd/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -16866,10 +25766,13 @@ "type": "string" }, "results": { + "description": "The results of the MACD indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -16942,10 +25845,11 @@ "type": "object" }, "values": { + "description": "Each entry in the values array represents MACD indicator data for a specific timestamp and includes:", "items": { "properties": { "histogram": { - "description": "The indicator value for this period.", + "description": "The difference between the MACD line (value) and the signal line (signal). Positive histogram values indicate upward (bullish) momentum, while negative histogram values indicate downward (bearish) momentum.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16953,7 +25857,7 @@ } }, "signal": { - "description": "The indicator value for this period.", + "description": "The signal line value, calculated as the exponential moving average (EMA) of the MACD line (value) over the signal period defined in the request parameters. Traders typically use crossovers between the MACD and signal lines as trading signals.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16970,7 +25874,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -16993,6 +25897,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -17163,11 +26072,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/rsi/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/rsi/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -17189,10 +26098,13 @@ "type": "string" }, "results": { + "description": "The results of the RSI indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -17265,6 +26177,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -17277,7 +26190,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -17300,6 +26213,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -17481,11 +26399,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/rsi/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/rsi/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -17507,10 +26425,13 @@ "type": "string" }, "results": { + "description": "The results of the RSI indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -17583,6 +26504,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -17595,7 +26517,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -17618,6 +26540,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -17799,11 +26726,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/rsi/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz0xNA", + "next_url": "https://api.massive.com/v1/indicators/rsi/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz0xNA", "request_id": "28a8417f521f98e1d08f6ed7d1fbcad3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366658253?limit=66&sort=desc" + "url": "https://api.massive.com/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366658253?limit=66&sort=desc" }, "values": [ { @@ -17825,10 +26752,13 @@ "type": "string" }, "results": { + "description": "The results of the RSI indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -17901,6 +26831,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -17913,7 +26844,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -17936,6 +26867,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } } @@ -18112,11 +27048,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/rsi/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/rsi/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -18138,10 +27074,13 @@ "type": "string" }, "results": { + "description": "The results of the RSI indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -18214,6 +27153,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -18226,7 +27166,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -18249,6 +27189,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -18430,11 +27375,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/rsi/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/rsi/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -18456,10 +27401,13 @@ "type": "string" }, "results": { + "description": "The results of the RSI indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -18532,6 +27480,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -18544,7 +27493,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -18567,6 +27516,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -18737,7 +27691,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/sma/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/sma/X:BTCUSD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { @@ -18763,7 +27717,7 @@ "vw": 74.7026 } ], - "url": "https://api.polygon.io/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/X:BTCUSD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -18785,10 +27739,13 @@ "type": "string" }, "results": { + "description": "The results of the SMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -18861,6 +27818,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -18873,7 +27831,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -18896,6 +27854,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -19077,7 +28040,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/sma/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/sma/C:USDAUD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { @@ -19103,7 +28066,7 @@ "vw": 74.7026 } ], - "url": "https://api.polygon.io/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/C:USDAUD/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -19125,10 +28088,13 @@ "type": "string" }, "results": { + "description": "The results of the SMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -19201,6 +28167,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -19213,7 +28180,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -19236,6 +28203,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -19417,11 +28389,11 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/sma/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz01Mw", + "next_url": "https://api.massive.com/v1/indicators/sma/I:NDX?cursor=YWRqdXN0ZWQ9dHJ1ZSZhcD0lN0IlMjJ2JTIyJTNBMCUyQyUyMm8lMjIlM0EwJTJDJTIyYyUyMiUzQTE1MDg0Ljk5OTM4OTgyMDAzJTJDJTIyaCUyMiUzQTAlMkMlMjJsJTIyJTNBMCUyQyUyMnQlMjIlM0ExNjg3MjE5MjAwMDAwJTdEJmFzPSZleHBhbmRfdW5kZXJseWluZz1mYWxzZSZsaW1pdD0xJm9yZGVyPWRlc2Mmc2VyaWVzX3R5cGU9Y2xvc2UmdGltZXNwYW49ZGF5JnRpbWVzdGFtcC5sdD0xNjg3MjM3MjAwMDAwJndpbmRvdz01Mw", "request_id": "4cae270008cb3f947e3f92c206e3888a", "results": { "underlying": { - "url": "https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366378997?limit=240&sort=desc" + "url": "https://api.massive.com/v2/aggs/ticker/I:NDX/range/1/day/1678338000000/1687366378997?limit=240&sort=desc" }, "values": [ { @@ -19443,10 +28415,13 @@ "type": "string" }, "results": { + "description": "The results of the SMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -19519,6 +28494,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -19531,7 +28507,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -19554,6 +28530,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } } @@ -19730,7 +28711,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/sma/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/sma/O:SPY241220P00720000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { @@ -19756,7 +28737,7 @@ "vw": 74.7026 } ], - "url": "https://api.polygon.io/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/O:SPY241220P00720000/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -19778,10 +28759,13 @@ "type": "string" }, "results": { + "description": "The results of the SMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -19854,6 +28838,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -19866,7 +28851,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -19889,6 +28874,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -20070,7 +29060,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v1/indicators/sma/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v1/indicators/sma/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": { "underlying": { @@ -20096,7 +29086,7 @@ "vw": 74.7026 } ], - "url": "https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" + "url": "https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/2003-01-01/2022-07-25" }, "values": [ { @@ -20118,10 +29108,13 @@ "type": "string" }, "results": { + "description": "The results of the SMA indicator calculation.", "properties": { "underlying": { + "description": "The underlying aggregates used.", "properties": { "aggregates": { + "description": "The array of aggregates used in the calculation of this indicator.", "items": { "properties": { "c": { @@ -20194,6 +29187,7 @@ "type": "object" }, "values": { + "description": "Timestamp or indicator value.", "items": { "properties": { "timestamp": { @@ -20206,7 +29200,7 @@ } }, "value": { - "description": "The indicator value for this period.", + "description": "The MACD line value, calculated as the difference between the short-term and long-term exponential moving averages (EMAs) based on the periods specified in the request parameters.", "format": "float", "type": "number", "x-polygon-go-type": { @@ -20229,6 +29223,11 @@ "type": "string" } }, + "required": [ + "request_id", + "status", + "results" + ], "type": "object" } }, @@ -20308,7 +29307,7 @@ "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -20318,7 +29317,7 @@ } }, "exchange": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.", "type": "integer" }, "price": { @@ -20456,7 +29455,7 @@ "type": "number" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "timestamp": { @@ -20640,7 +29639,7 @@ "type": "string" }, "s_and_p": { - "description": "The status of Standard & Poors's (\"S&P\") indices trading hours.", + "description": "The status of Standard & Poor's (\"S&P\") indices trading hours.", "type": "string" }, "societe_generale": { @@ -20888,7 +29887,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -20912,7 +29911,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -20949,7 +29948,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -20973,7 +29972,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -21566,7 +30565,7 @@ "operationId": "GetSnapshotSummary", "parameters": [ { - "description": "Comma separated list of tickers. This API currently supports Stocks/Equities, Crypto, Options, and Forex. See the tickers endpoint for more details on supported tickers. If no tickers are passed then no results will be returned.\n\nWarning: The maximum number of characters allowed in a URL are subject to your technology stack.", + "description": "Comma separated list of tickers. This API currently supports Stocks/Equities, Crypto, Options, and Forex. See the tickers endpoint for more details on supported tickers. If no tickers are passed then no results will be returned.\n\nWarning: The maximum number of characters allowed in a URL are subject to your technology stack.", "example": "NCLH,O:SPY250321C00380000,C:EURUSD,X:BTCUSD", "in": "query", "name": "ticker.any_of", @@ -21584,8 +30583,8 @@ "results": [ { "branding": { - "icon_url": "https://api.polygon.io/icon.png", - "logo_url": "https://api.polygon.io/logo.svg" + "icon_url": "https://api.massive.com/icon.png", + "logo_url": "https://api.massive.com/logo.svg" }, "last_updated": 1679597116344223500, "market_status": "closed", @@ -21657,8 +30656,8 @@ }, { "branding": { - "icon_url": "https://api.polygon.io/icon.png", - "logo_url": "https://api.polygon.io/logo.svg" + "icon_url": "https://api.massive.com/icon.png", + "logo_url": "https://api.massive.com/logo.svg" }, "last_updated": 1679597116344223500, "market_status": "open", @@ -22843,7 +31842,7 @@ } }, { - "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", + "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", "example": 120, "in": "query", "name": "limit", @@ -23300,7 +32299,7 @@ } }, { - "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", + "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", "example": 120, "in": "query", "name": "limit", @@ -23701,7 +32700,7 @@ } }, { - "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", + "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", "example": 120, "in": "query", "name": "limit", @@ -24127,7 +33126,7 @@ } }, { - "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", + "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", "example": 120, "in": "query", "name": "limit", @@ -24579,7 +33578,7 @@ } }, { - "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", + "description": "Limits the number of base aggregates queried to create the aggregate results. Max 50000 and Default 5000.\nRead more about how limit is used to calculate aggregate results in our article on\nAggregate Data API Improvements.\n", "example": 120, "in": "query", "name": "limit", @@ -24594,7 +33593,7 @@ "application/json": { "example": { "adjusted": true, - "next_url": "https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/day/1578114000000/2020-01-10?cursor=bGltaXQ9MiZzb3J0PWFzYw", + "next_url": "https://api.massive.com/v2/aggs/ticker/AAPL/range/1/day/1578114000000/2020-01-10?cursor=bGltaXQ9MiZzb3J0PWFzYw", "queryCount": 2, "request_id": "6a7e466379af0a71039d60cc78e72282", "results": [ @@ -24824,7 +33823,7 @@ "type": "number" }, "S": { - "description": "The ask size. This represents the number of round lot orders at the given ask price. The normal round lot size is 100 shares. An ask size of 2 means there are 200 shares available to purchase at the given ask price.", + "description": "The total number of shares available for sale at the current ask price.", "type": "integer" }, "T": { @@ -24832,13 +33831,13 @@ "type": "string" }, "X": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "c": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -24854,7 +33853,7 @@ "i": { "description": "A list of indicator codes.", "items": { - "description": "The indicator codes. For more information, see our glossary of [Conditions and\nIndicators](https://polygon.io/glossary/us/stocks/conditions-indicators).", + "description": "The indicator codes. For more information, see our glossary of [Conditions and\nIndicators](https://massive.com/glossary/us/stocks/conditions-indicators).", "format": "int32", "type": "integer" }, @@ -24874,7 +33873,7 @@ "type": "integer" }, "s": { - "description": "The bid size. This represents the number of round lot orders at the given bid price. The normal round lot size is 100 shares. A bid size of 2 means there are 200 shares for purchase at the given bid price.", + "description": "The total number of shares that buyers want to purchase at the current bid price.", "type": "integer" }, "t": { @@ -24882,7 +33881,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "y": { @@ -25011,7 +34010,7 @@ "c": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -25056,7 +34055,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "y": { @@ -25191,7 +34190,7 @@ "c": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -25236,7 +34235,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "y": { @@ -25500,7 +34499,7 @@ "application/json": { "example": { "count": 1, - "next_url": "https://api.polygon.io:443/v2/reference/news?cursor=eyJsaW1pdCI6MSwic29ydCI6InB1Ymxpc2hlZF91dGMiLCJvcmRlciI6ImFzY2VuZGluZyIsInRpY2tlciI6e30sInB1Ymxpc2hlZF91dGMiOnsiZ3RlIjoiMjAyMS0wNC0yNiJ9LCJzZWFyY2hfYWZ0ZXIiOlsxNjE5NDA0Mzk3MDAwLG51bGxdfQ", + "next_url": "https://api.massive.com:443/v2/reference/news?cursor=eyJsaW1pdCI6MSwic29ydCI6InB1Ymxpc2hlZF91dGMiLCJvcmRlciI6ImFzY2VuZGluZyIsInRpY2tlciI6e30sInB1Ymxpc2hlZF91dGMiOnsiZ3RlIjoiMjAyMS0wNC0yNiJ9LCJzZWFyY2hfYWZ0ZXIiOlsxNjE5NDA0Mzk3MDAwLG51bGxdfQ", "request_id": "831afdb0b8078549fed053476984947a", "results": [ { @@ -25524,9 +34523,9 @@ ], "published_utc": "2024-06-24T18:33:53Z", "publisher": { - "favicon_url": "https://s3.polygon.io/public/assets/news/favicons/investing.ico", + "favicon_url": "https://s3.massive.com/public/assets/news/favicons/investing.ico", "homepage_url": "https://www.investing.com/", - "logo_url": "https://s3.polygon.io/public/assets/news/logos/investing.png", + "logo_url": "https://s3.massive.com/public/assets/news/logos/investing.png", "name": "Investing.com" }, "tickers": [ @@ -25691,7 +34690,7 @@ } }, "text/csv": { - "example": "id,publisher_name,publisher_homepage_url,publisher_logo_url,publisher_favicon_url,title,author,published_utc,article_url,ticker,amp_url,image_url,description,keywords,sentiment,sentiment_reasoning\n8ec638777ca03b553ae516761c2a22ba2fdd2f37befae3ab6fdab74e9e5193eb,Investing.com,https://www.investing.com/,https://s3.polygon.io/public/assets/news/logos/investing.png,https://s3.polygon.io/public/assets/news/favicons/investing.ico,Markets are underestimating Fed cuts: UBS By Investing.com - Investing.com UK,Sam Boughedda,1719254033000000000,https://uk.investing.com/news/stock-market-news/markets-are-underestimating-fed-cuts-ubs-3559968,UBS,https://m.uk.investing.com/news/stock-market-news/markets-are-underestimating-fed-cuts-ubs-3559968?ampMode=1,https://i-invdn-com.investing.com/news/LYNXNPEC4I0AL_L.jpg,\"UBS analysts warn that markets are underestimating the extent of future interest rate cuts by the Federal Reserve, as the weakening economy is likely to justify more cuts than currently anticipated.\",\"Federal Reserve,interest rates,economic data\",positive,\"UBS analysts are providing a bullish outlook on the extent of future Federal Reserve rate cuts, suggesting that markets are underestimating the number of cuts that will occur.\"\n", + "example": "id,publisher_name,publisher_homepage_url,publisher_logo_url,publisher_favicon_url,title,author,published_utc,article_url,ticker,amp_url,image_url,description,keywords,sentiment,sentiment_reasoning\n8ec638777ca03b553ae516761c2a22ba2fdd2f37befae3ab6fdab74e9e5193eb,Investing.com,https://www.investing.com/,https://s3.massive.com/public/assets/news/logos/investing.png,https://s3.massive.com/public/assets/news/favicons/investing.ico,Markets are underestimating Fed cuts: UBS By Investing.com - Investing.com UK,Sam Boughedda,1719254033000000000,https://uk.investing.com/news/stock-market-news/markets-are-underestimating-fed-cuts-ubs-3559968,UBS,https://m.uk.investing.com/news/stock-market-news/markets-are-underestimating-fed-cuts-ubs-3559968?ampMode=1,https://i-invdn-com.investing.com/news/LYNXNPEC4I0AL_L.jpg,\"UBS analysts warn that markets are underestimating the extent of future interest rate cuts by the Federal Reserve, as the weakening economy is likely to justify more cuts than currently anticipated.\",\"Federal Reserve,interest rates,economic data\",positive,\"UBS analysts are providing a bullish outlook on the extent of future Federal Reserve rate cuts, suggesting that markets are underestimating the number of cuts that will occur.\"\n", "schema": { "type": "string" } @@ -25865,7 +34864,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -25897,7 +34896,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -26227,7 +35226,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -26259,7 +35258,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -26765,7 +35764,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -26797,7 +35796,7 @@ "type": "integer" }, "x": { - "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", + "description": "The exchange that this crypto trade happened on. \nSee Exchanges for a mapping of exchanges to IDs.\n", "type": "integer" } }, @@ -27106,7 +36105,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -27430,7 +36429,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -27745,7 +36744,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -28099,7 +37098,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -28166,7 +37165,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" } }, @@ -28512,7 +37511,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -28579,7 +37578,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" } }, @@ -28924,7 +37923,7 @@ "type": "object" }, "fmv": { - "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", + "description": "Fair market value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security. For more information, contact us.", "format": "double", "type": "number" }, @@ -28991,7 +37990,7 @@ "type": "integer" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" } }, @@ -29412,19 +38411,19 @@ "type": "integer" }, "X": { - "description": "The ask exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The ask exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" }, "i": { - "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://polygon.io/glossary/us/stocks/conditions-indicators).\n", + "description": "The indicators. For more information, see our glossary of [Conditions and\nIndicators](https://massive.com/glossary/us/stocks/conditions-indicators).\n", "items": { "description": "The indicator code.\n", "type": "integer" @@ -29441,7 +38440,7 @@ "type": "integer" }, "x": { - "description": "The bid exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The bid exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "z": { @@ -29721,7 +38720,7 @@ "c": { "description": "A list of condition codes.\n", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/get_v3_reference_conditions)\nfor a mapping to exchange conditions.\n", "type": "integer" }, "type": "array" @@ -29749,7 +38748,7 @@ "type": "number" }, "x": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "z": { @@ -29910,7 +38909,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v3/quotes/C:EUR-USD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v3/quotes/C:EUR-USD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": [ { @@ -30142,7 +39141,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v3/quotes/O:SPY241220P00720000?cursor=YXA9NzY5Nzg0NzAxJmFzPSZsaW1pdD0xMCZvcmRlcj1kZXNjJnNvcnQ9dGltZXN0YW1wJnRpbWVzdGFtcC5sdGU9MjAyMi0wMi0xN1QxNyUzQTI1JTNBMTMuMDA5MzU2MDMyWg", + "next_url": "https://api.massive.com/v3/quotes/O:SPY241220P00720000?cursor=YXA9NzY5Nzg0NzAxJmFzPSZsaW1pdD0xMCZvcmRlcj1kZXNjJnNvcnQ9dGltZXN0YW1wJnRpbWVzdGFtcC5sdGU9MjAyMi0wMi0xN1QxNyUzQTI1JTNBMTMuMDA5MzU2MDMyWg", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": [ { @@ -30210,267 +39209,267 @@ "format": "double", "type": "number" }, - "sequence_number": { - "description": "The sequence number represents the sequence in which quote events happened.\nThese are increasing and unique per ticker symbol, but will not always be\nsequential (e.g., 1, 2, 6, 9, 10, 11).", - "format": "int64", - "type": "integer" - }, - "sip_timestamp": { - "description": "The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this quote from the exchange which produced it.", - "format": "int64", - "type": "integer", - "x-polygon-go-type": { - "name": "INanoseconds", - "path": "github.com/polygon-io/ptime" - } - } - }, - "required": [ - "sip_timestamp", - "sequence_number" - ], - "type": "object" - }, - "type": "array" - }, - "status": { - "description": "The status of this request's response.", - "type": "string" - } - }, - "required": [ - "status" - ], - "type": "object" - } - }, - "text/csv": { - "example": "ask_exchange,ask_price,ask_size,bid_exchange,bid_price,bid_size,sequence_number,sip_timestamp\n323,282,10,316,277.5,1,789539218,1645119125346243600\n301,282,1,323,277.5,10,788994206,1645119118474271000\n", - "schema": { - "type": "string" - } - } - }, - "description": "A list of quotes." - } - }, - "summary": "Quotes", - "tags": [ - "default" - ], - "x-polygon-entitlement-data-type": { - "description": "NBBO data", - "name": "nbbo" - }, - "x-polygon-entitlement-market-type": { - "description": "Options data", - "name": "options" - }, - "x-polygon-paginate": { - "limit": { - "default": 1000, - "example": 10, - "max": 50000 - }, - "order": { - "default": "desc" - }, - "sort": { - "default": "timestamp", - "enum": [ - "timestamp" - ] - } - } - }, - "x-polygon-ignore": true - }, - "/v3/quotes/{stockTicker}": { - "get": { - "description": "Get NBBO quotes for a ticker symbol in a given time range.", - "operationId": "GetStocksQuotes", - "parameters": [ - { - "description": "Specify a case-sensitive ticker symbol. For example, AAPL represents Apple Inc.", - "example": "AAPL", - "in": "path", - "name": "stockTicker", - "required": true, - "schema": { - "type": "string" - }, - "x-polygon-go-id": "Ticker" - }, - { - "description": "Query by timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.", - "in": "query", - "name": "timestamp", - "schema": { - "type": "string" - }, - "x-polygon-filter-field": { - "range": true - } - }, - { - "description": "Range by timestamp.", - "in": "query", - "name": "timestamp.gte", - "schema": { - "type": "string" - } - }, - { - "description": "Range by timestamp.", - "in": "query", - "name": "timestamp.gt", - "schema": { - "type": "string" - } - }, - { - "description": "Range by timestamp.", - "in": "query", - "name": "timestamp.lte", - "schema": { - "type": "string" - } - }, - { - "description": "Range by timestamp.", - "in": "query", - "name": "timestamp.lt", - "schema": { - "type": "string" - } - }, - { - "description": "Order results based on the `sort` field.", - "in": "query", - "name": "order", - "schema": { - "default": "desc", - "enum": [ - "asc", - "desc" - ], - "example": "asc", - "type": "string" - } - }, - { - "description": "Limit the number of results returned, default is 1000 and max is 50000.", - "in": "query", - "name": "limit", - "schema": { - "default": 1000, - "example": 10, - "maximum": 50000, - "minimum": 1, - "type": "integer" - } - }, - { - "description": "Sort field used for ordering.", - "in": "query", - "name": "sort", - "schema": { - "default": "timestamp", - "enum": [ - "timestamp" - ], - "example": "timestamp", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "example": { - "next_url": "https://api.polygon.io/v3/quotes/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", - "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", - "results": [ - { - "ask_exchange": 0, - "ask_price": 0, - "ask_size": 0, - "bid_exchange": 11, - "bid_price": 102.7, - "bid_size": 60, - "conditions": [ - 1 - ], - "participant_timestamp": 1517562000065321200, - "sequence_number": 2060, - "sip_timestamp": 1517562000065700400, - "tape": 3 - }, - { - "ask_exchange": 0, - "ask_price": 0, - "ask_size": 0, - "bid_exchange": 11, - "bid_price": 170, - "bid_size": 2, - "conditions": [ - 1 - ], - "participant_timestamp": 1517562000065408300, - "sequence_number": 2061, - "sip_timestamp": 1517562000065791500, - "tape": 3 - } - ], - "status": "OK" - }, - "schema": { - "properties": { - "next_url": { - "description": "If present, this value can be used to fetch the next page of data.", - "type": "string" - }, - "request_id": { - "description": "A request id assigned by the server.", - "type": "string" - }, - "results": { - "description": "An array of results containing the requested data.", - "items": { - "properties": { - "ask_exchange": { - "description": "The ask exchange ID", - "type": "integer" - }, - "ask_price": { - "description": "The ask price.", - "format": "double", - "type": "number" - }, - "ask_size": { - "description": "The ask size. This represents the number of round lot orders at the given ask price. The normal round lot size is 100 shares. An ask size of 2 means there are 200 shares available to purchase at the given ask price.", - "format": "double", - "type": "number" - }, - "bid_exchange": { - "description": "The bid exchange ID", - "type": "integer" - }, - "bid_price": { - "description": "The bid price.", - "format": "double", - "type": "number" - }, - "bid_size": { - "description": "The bid size. This represents the number of round lot orders at the given bid price. The normal round lot size is 100 shares. A bid size of 2 means there are 200 shares for purchase at the given bid price.", - "format": "double", - "type": "number" - }, + "sequence_number": { + "description": "The sequence number represents the sequence in which quote events happened.\nThese are increasing and unique per ticker symbol, but will not always be\nsequential (e.g., 1, 2, 6, 9, 10, 11).", + "format": "int64", + "type": "integer" + }, + "sip_timestamp": { + "description": "The nanosecond accuracy SIP Unix Timestamp. This is the timestamp of when the SIP received this quote from the exchange which produced it.", + "format": "int64", + "type": "integer", + "x-polygon-go-type": { + "name": "INanoseconds", + "path": "github.com/polygon-io/ptime" + } + } + }, + "required": [ + "sip_timestamp", + "sequence_number" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "description": "The status of this request's response.", + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + } + }, + "text/csv": { + "example": "ask_exchange,ask_price,ask_size,bid_exchange,bid_price,bid_size,sequence_number,sip_timestamp\n323,282,10,316,277.5,1,789539218,1645119125346243600\n301,282,1,323,277.5,10,788994206,1645119118474271000\n", + "schema": { + "type": "string" + } + } + }, + "description": "A list of quotes." + } + }, + "summary": "Quotes", + "tags": [ + "default" + ], + "x-polygon-entitlement-data-type": { + "description": "NBBO data", + "name": "nbbo" + }, + "x-polygon-entitlement-market-type": { + "description": "Options data", + "name": "options" + }, + "x-polygon-paginate": { + "limit": { + "default": 1000, + "example": 10, + "max": 50000 + }, + "order": { + "default": "desc" + }, + "sort": { + "default": "timestamp", + "enum": [ + "timestamp" + ] + } + } + }, + "x-polygon-ignore": true + }, + "/v3/quotes/{stockTicker}": { + "get": { + "description": "Get NBBO quotes for a ticker symbol in a given time range.", + "operationId": "GetStocksQuotes", + "parameters": [ + { + "description": "Specify a case-sensitive ticker symbol. For example, AAPL represents Apple Inc.", + "example": "AAPL", + "in": "path", + "name": "stockTicker", + "required": true, + "schema": { + "type": "string" + }, + "x-polygon-go-id": "Ticker" + }, + { + "description": "Query by timestamp. Either a date with the format YYYY-MM-DD or a nanosecond timestamp.", + "in": "query", + "name": "timestamp", + "schema": { + "type": "string" + }, + "x-polygon-filter-field": { + "range": true + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.gte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.gt", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.lte", + "schema": { + "type": "string" + } + }, + { + "description": "Range by timestamp.", + "in": "query", + "name": "timestamp.lt", + "schema": { + "type": "string" + } + }, + { + "description": "Order results based on the `sort` field.", + "in": "query", + "name": "order", + "schema": { + "default": "desc", + "enum": [ + "asc", + "desc" + ], + "example": "asc", + "type": "string" + } + }, + { + "description": "Limit the number of results returned, default is 1000 and max is 50000.", + "in": "query", + "name": "limit", + "schema": { + "default": 1000, + "example": 10, + "maximum": 50000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "Sort field used for ordering.", + "in": "query", + "name": "sort", + "schema": { + "default": "timestamp", + "enum": [ + "timestamp" + ], + "example": "timestamp", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "next_url": "https://api.massive.com/v3/quotes/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", + "results": [ + { + "ask_exchange": 0, + "ask_price": 0, + "ask_size": 0, + "bid_exchange": 11, + "bid_price": 102.7, + "bid_size": 60, + "conditions": [ + 1 + ], + "participant_timestamp": 1517562000065321200, + "sequence_number": 2060, + "sip_timestamp": 1517562000065700400, + "tape": 3 + }, + { + "ask_exchange": 0, + "ask_price": 0, + "ask_size": 0, + "bid_exchange": 11, + "bid_price": 170, + "bid_size": 2, + "conditions": [ + 1 + ], + "participant_timestamp": 1517562000065408300, + "sequence_number": 2061, + "sip_timestamp": 1517562000065791500, + "tape": 3 + } + ], + "status": "OK" + }, + "schema": { + "properties": { + "next_url": { + "description": "If present, this value can be used to fetch the next page of data.", + "type": "string" + }, + "request_id": { + "description": "A request id assigned by the server.", + "type": "string" + }, + "results": { + "description": "An array of results containing the requested data.", + "items": { + "properties": { + "ask_exchange": { + "description": "The ask exchange ID", + "type": "integer" + }, + "ask_price": { + "description": "The ask price.", + "format": "double", + "type": "number" + }, + "ask_size": { + "description": "The total number of shares available for sale at the current ask price.", + "format": "double", + "type": "number" + }, + "bid_exchange": { + "description": "The bid exchange ID", + "type": "integer" + }, + "bid_price": { + "description": "The bid price.", + "format": "double", + "type": "number" + }, + "bid_size": { + "description": "The total number of shares that buyers want to purchase at the current bid price.", + "format": "double", + "type": "number" + }, "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -30482,7 +39481,7 @@ "indicators": { "description": "A list of indicator codes.", "items": { - "description": "The indicator codes. For more information, see our glossary of [Conditions and\nIndicators](https://polygon.io/glossary/us/stocks/conditions-indicators).", + "description": "The indicator codes. For more information, see our glossary of [Conditions and\nIndicators](https://massive.com/glossary/us/stocks/conditions-indicators).", "format": "int32", "type": "integer" }, @@ -30601,7 +39600,7 @@ }, "/v3/reference/conditions": { "get": { - "description": "List all conditions that Polygon.io uses.", + "description": "List all conditions that Massive.com uses.", "operationId": "ListConditions", "parameters": [ { @@ -30639,7 +39638,7 @@ "in": "query", "name": "id", "schema": { - "description": "An identifier used by Polygon.io for this condition. Unique per data type.", + "description": "An identifier used by Massive.com for this condition. Unique per data type.", "type": "integer" } }, @@ -30791,11 +39790,11 @@ "type": "string" }, "exchange": { - "description": "If present, mapping this condition from a Polygon.io code to a SIP symbol depends on this attribute.\nIn other words, data with this condition attached comes exclusively from the given exchange.", + "description": "If present, mapping this condition from a Massive.com code to a SIP symbol depends on this attribute.\nIn other words, data with this condition attached comes exclusively from the given exchange.", "type": "integer" }, "id": { - "description": "An identifier used by Polygon.io for this condition. Unique per data type.", + "description": "An identifier used by Massive.com for this condition. Unique per data type.", "type": "integer" }, "legacy": { @@ -30808,7 +39807,7 @@ "type": "string" }, "sip_mapping": { - "description": "A comprehensive mapping that translates condition codes from individual SIPs (CTA, OPRA, UTP) to a unified code used by Polygon.io. This facilitates consistent interpretation and application of market data conditions across different data streams, ensuring that users can accurately apply these conditions to their data analysis and reporting.", + "description": "A comprehensive mapping that translates condition codes from individual SIPs (CTA, OPRA, UTP) to a unified code used by Massive.com. This facilitates consistent interpretation and application of market data conditions across different data streams, ensuring that users can accurately apply these conditions to their data analysis and reporting.", "properties": { "CTA": { "description": "Condition code from the Consolidated Tape Association (CTA).", @@ -30989,11 +39988,11 @@ "type": "string" }, "exchange": { - "description": "If present, mapping this condition from a Polygon.io code to a SIP symbol depends on this attribute.\nIn other words, data with this condition attached comes exclusively from the given exchange.", + "description": "If present, mapping this condition from a Massive.com code to a SIP symbol depends on this attribute.\nIn other words, data with this condition attached comes exclusively from the given exchange.", "type": "integer" }, "id": { - "description": "An identifier used by Polygon.io for this condition. Unique per data type.", + "description": "An identifier used by Massive.com for this condition. Unique per data type.", "type": "integer" }, "legacy": { @@ -31006,7 +40005,7 @@ "type": "string" }, "sip_mapping": { - "description": "A comprehensive mapping that translates condition codes from individual SIPs (CTA, OPRA, UTP) to a unified code used by Polygon.io. This facilitates consistent interpretation and application of market data conditions across different data streams, ensuring that users can accurately apply these conditions to their data analysis and reporting.", + "description": "A comprehensive mapping that translates condition codes from individual SIPs (CTA, OPRA, UTP) to a unified code used by Massive.com. This facilitates consistent interpretation and application of market data conditions across different data streams, ensuring that users can accurately apply these conditions to their data analysis and reporting.", "properties": { "CTA": { "description": "Condition code from the Consolidated Tape Association (CTA).", @@ -31181,11 +40180,11 @@ "type": "string" }, "exchange": { - "description": "If present, mapping this condition from a Polygon.io code to a SIP symbol depends on this attribute.\nIn other words, data with this condition attached comes exclusively from the given exchange.", + "description": "If present, mapping this condition from a Massive.com code to a SIP symbol depends on this attribute.\nIn other words, data with this condition attached comes exclusively from the given exchange.", "type": "integer" }, "id": { - "description": "An identifier used by Polygon.io for this condition. Unique per data type.", + "description": "An identifier used by Massive.com for this condition. Unique per data type.", "type": "integer" }, "legacy": { @@ -31198,7 +40197,7 @@ "type": "string" }, "sip_mapping": { - "description": "A comprehensive mapping that translates condition codes from individual SIPs (CTA, OPRA, UTP) to a unified code used by Polygon.io. This facilitates consistent interpretation and application of market data conditions across different data streams, ensuring that users can accurately apply these conditions to their data analysis and reporting.", + "description": "A comprehensive mapping that translates condition codes from individual SIPs (CTA, OPRA, UTP) to a unified code used by Massive.com. This facilitates consistent interpretation and application of market data conditions across different data streams, ensuring that users can accurately apply these conditions to their data analysis and reporting.", "properties": { "CTA": { "description": "Condition code from the Consolidated Tape Association (CTA).", @@ -31716,7 +40715,7 @@ "schema": { "description": "A list of dividends.", "example": { - "next_url": "https://api.polygon.io/v3/reference/dividends/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v3/reference/dividends/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "6a7e466379af0a71039d60cc78e72282", "results": [ { @@ -31874,7 +40873,7 @@ }, "/v3/reference/exchanges": { "get": { - "description": "List all exchanges that Polygon.io knows about.", + "description": "List all exchanges that Massive.com knows about.", "operationId": "ListExchanges", "parameters": [ { @@ -31948,7 +40947,7 @@ "type": "string" }, "id": { - "description": "A unique identifier used by Polygon.io for this exchange.", + "description": "A unique identifier used by Massive.com for this exchange.", "example": 1, "type": "integer" }, @@ -32121,7 +41120,7 @@ } }, { - "description": "This parameter has been deprecated. To search by specific options ticker, use the Options Contract endpoint [here](https://polygon.io/docs/options/get_v3_reference_options_contracts__options_ticker).", + "description": "This parameter has been deprecated. To search by specific options ticker, use the Options Contract endpoint [here](https://massive.com/docs/options/get_v3_reference_options_contracts__options_ticker).", "in": "query", "name": "ticker", "schema": { @@ -32509,7 +41508,7 @@ "operationId": "GetOptionsContract", "parameters": [ { - "description": "Query for a contract by options ticker. You can learn more about the structure of options tickers [here](https://polygon.io/blog/how-to-read-a-stock-options-ticker/).", + "description": "Query for a contract by options ticker. You can learn more about the structure of options tickers [here](https://massive.com/blog/how-to-read-a-stock-options-ticker/).", "example": "O:SPY251219C00650000", "in": "path", "name": "options_ticker", @@ -32829,7 +41828,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v3/splits/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v3/splits/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "6a7e466379af0a71039d60cc78e72282", "results": [ { @@ -32940,7 +41939,7 @@ }, "/v3/reference/tickers": { "get": { - "description": "Query all ticker symbols which are supported by Polygon.io. This API currently includes Stocks/Equities, Indices, Forex, and Crypto.", + "description": "Query all ticker symbols which are supported by Massive.com. This API currently includes Stocks/Equities, Indices, Forex, and Crypto.", "operationId": "ListTickers", "parameters": [ { @@ -32955,7 +41954,7 @@ } }, { - "description": "Specify the type of the tickers. Find the types that we support via our [Ticker Types API](https://polygon.io/docs/stocks/get_v3_reference_tickers_types).\nDefaults to empty string which queries all types.", + "description": "Specify the type of the tickers. Find the types that we support via our [Ticker Types API](https://massive.com/docs/stocks/get_v3_reference_tickers_types).\nDefaults to empty string which queries all types.", "in": "query", "name": "type", "schema": { @@ -33143,7 +42142,7 @@ "application/json": { "example": { "count": 1, - "next_url": "https://api.polygon.io/v3/reference/tickers?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v3/reference/tickers?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "e70013d92930de90e089dc8fa098888e", "results": [ { @@ -33185,6 +42184,14 @@ "description": "Whether or not the asset is actively traded. False means the asset has been delisted.", "type": "boolean" }, + "base_currency_name": { + "description": "The name of the currency that this asset is priced against.", + "type": "string" + }, + "base_currency_symbol": { + "description": "The ISO 4217 code of the currency that this asset is priced against.", + "type": "string" + }, "cik": { "description": "The CIK number for this ticker. Find more information [here](https://en.wikipedia.org/wiki/Central_Index_Key).", "type": "string" @@ -33197,6 +42204,10 @@ "description": "The name of the currency that this asset is traded with.", "type": "string" }, + "currency_symbol": { + "description": "The ISO 4217 code of the currency that this asset is traded with.", + "type": "string" + }, "delisted_utc": { "description": "The last date that the asset was traded.", "format": "date-time", @@ -33231,7 +42242,7 @@ "type": "string" }, "primary_exchange": { - "description": "The Market Identifier Code (MIC) of the primary listing exchange for this asset (see [ISO 10383](https://www.iso20022.org/market-identifier-codes)).", + "description": "The ISO code of the primary listing exchange for this asset.", "type": "string" }, "share_class_figi": { @@ -33243,7 +42254,7 @@ "type": "string" }, "type": { - "description": "The type of the asset. Find the types that we support via our [Ticker Types API](https://polygon.io/docs/stocks/get_v3_reference_tickers_types).", + "description": "The type of the asset. Find the types that we support via our [Ticker Types API](https://massive.com/docs/stocks/get_v3_reference_tickers_types).", "type": "string" } }, @@ -33320,7 +42331,7 @@ }, "/v3/reference/tickers/types": { "get": { - "description": "List all ticker types that Polygon.io has.", + "description": "List all ticker types that Massive.com has.", "operationId": "ListTickerTypes", "parameters": [ { @@ -33388,7 +42399,7 @@ "type": "string" }, "code": { - "description": "A code used by Polygon.io to refer to this ticker type.", + "description": "A code used by Massive.com to refer to this ticker type.", "example": "CS", "type": "string" }, @@ -33514,7 +42525,7 @@ }, "/v3/reference/tickers/{ticker}": { "get": { - "description": "Get a single ticker supported by Polygon.io. This response will have detailed information about the ticker and the company behind it.", + "description": "Get a single ticker supported by Massive.com. This response will have detailed information about the ticker and the company behind it.", "operationId": "GetTicker", "parameters": [ { @@ -33552,8 +42563,8 @@ "state": "CA" }, "branding": { - "icon_url": "https://api.polygon.io/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_icon.png", - "logo_url": "https://api.polygon.io/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_logo.svg" + "icon_url": "https://api.massive.com/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_icon.png", + "logo_url": "https://api.massive.com/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_logo.svg" }, "cik": "0000320193", "composite_figi": "BBG000B9XRY4", @@ -33699,7 +42710,7 @@ "type": "string" }, "primary_exchange": { - "description": "The Market Identifier Code (MIC) of the primary listing exchange for this asset (see [ISO 10383](https://www.iso20022.org/market-identifier-codes)).", + "description": "The ISO code of the primary listing exchange for this asset.", "type": "string" }, "round_lot": { @@ -33741,7 +42752,7 @@ "type": "number" }, "type": { - "description": "The type of the asset. Find the types that we support via our [Ticker Types API](https://polygon.io/docs/stocks/get_v3_reference_tickers_types).", + "description": "The type of the asset. Find the types that we support via our [Ticker Types API](https://massive.com/docs/stocks/get_v3_reference_tickers_types).", "type": "string" }, "weighted_shares_outstanding": { @@ -33773,7 +42784,7 @@ } }, "text/csv": { - "example": "ticker,name,market,locale,primary_exchange,type,active,currency_name,cik,composite_figi,share_class_figi,share_class_shares_outstanding,weighted_shares_outstanding,round_lot,market_cap,phone_number,address1,address2,city,state,postal_code,sic_code,sic_description,ticker_root,total_employees,list_date,homepage_url,description,branding/logo_url,branding/icon_url\nAAPL,Apple Inc.,stocks,us,XNAS,CS,true,usd,0000320193,BBG000B9XRY4,BBG001S5N8V8,16406400000,16334371000,100,2771126040150,(408) 996-1010,One Apple Park Way,,Cupertino,CA,95014,3571,ELECTRONIC COMPUTERS,AAPL,154000,1980-12-12,https://www.apple.com,\"Apple designs a wide variety of consumer electronic devices, including smartphones (iPhone), tablets (iPad), PCs (Mac), smartwatches (Apple Watch), AirPods, and TV boxes (Apple TV), among others. The iPhone makes up the majority of Apple's total revenue. In addition, Apple offers its customers a variety of services such as Apple Music, iCloud, Apple Care, Apple TV+, Apple Arcade, Apple Card, and Apple Pay, among others. Apple's products run internally developed software and semiconductors, and the firm is well known for its integration of hardware, software and services. Apple's products are distributed online as well as through company-owned stores and third-party retailers. The company generates roughly 40% of its revenue from the Americas, with the remainder earned internationally.\",https://api.polygon.io/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_logo.svg,https://api.polygon.io/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_icon.png\n", + "example": "ticker,name,market,locale,primary_exchange,type,active,currency_name,cik,composite_figi,share_class_figi,share_class_shares_outstanding,weighted_shares_outstanding,round_lot,market_cap,phone_number,address1,address2,city,state,postal_code,sic_code,sic_description,ticker_root,total_employees,list_date,homepage_url,description,branding/logo_url,branding/icon_url\nAAPL,Apple Inc.,stocks,us,XNAS,CS,true,usd,0000320193,BBG000B9XRY4,BBG001S5N8V8,16406400000,16334371000,100,2771126040150,(408) 996-1010,One Apple Park Way,,Cupertino,CA,95014,3571,ELECTRONIC COMPUTERS,AAPL,154000,1980-12-12,https://www.apple.com,\"Apple designs a wide variety of consumer electronic devices, including smartphones (iPhone), tablets (iPad), PCs (Mac), smartwatches (Apple Watch), AirPods, and TV boxes (Apple TV), among others. The iPhone makes up the majority of Apple's total revenue. In addition, Apple offers its customers a variety of services such as Apple Music, iCloud, Apple Care, Apple TV+, Apple Arcade, Apple Card, and Apple Pay, among others. Apple's products run internally developed software and semiconductors, and the firm is well known for its integration of hardware, software and services. Apple's products are distributed online as well as through company-owned stores and third-party retailers. The company generates roughly 40% of its revenue from the Americas, with the remainder earned internationally.\",https://api.massive.com/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_logo.svg,https://api.massive.com/v1/reference/company-branding/d3d3LmFwcGxlLmNvbQ/images/2022-01-10_icon.png\n", "schema": { "type": "string" } @@ -33930,6 +42941,7 @@ "underlying_ticker": "NCLH" }, "fmv": 0.05, + "fmv_last_updated": 1636573458757383400, "greeks": { "delta": 0.5520187372272933, "gamma": 0.00706756515659829, @@ -33989,6 +43001,7 @@ }, { "fmv": 0.05, + "fmv_last_updated": 1636573458757383400, "last_minute": { "close": 412.05, "high": 412.1, @@ -34119,11 +43132,20 @@ "type": "string" }, "fmv": { - "description": "Fair market value is only available on Business plans. It's it our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security.\nFor more information, contact us.", + "description": "Fair Market Value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security.\nFor more information, contact us.", "type": "number" }, + "fmv_last_updated": { + "description": "If Fair Market Value (FMV) is available, this field is the nanosecond timestamp of the last FMV calculation.", + "format": "int64", + "type": "integer", + "x-polygon-go-type": { + "name": "INanoseconds", + "path": "github.com/polygon-io/ptime" + } + }, "greeks": { - "description": "The greeks for this contract.\nThere are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money.\nSee this article for more information.", + "description": "The greeks for this contract.\nThere are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money.\nSee this article for more information.", "properties": { "delta": { "description": "The change in the option's price per $0.01 increment in the price of the underlying asset.", @@ -34225,7 +43247,7 @@ "type": "number" }, "ask_exchange": { - "description": "The ask side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The ask side exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "ask_size": { @@ -34239,7 +43261,7 @@ "type": "number" }, "bid_exchange": { - "description": "The bid side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The bid side exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "bid_size": { @@ -34287,14 +43309,14 @@ "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, "type": "array" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "id": { @@ -35096,6 +44118,7 @@ "ticker": "O:AAPL211022C000150000" }, "fmv": 0.05, + "fmv_last_updated": 1605195918508251600, "greeks": { "delta": 1, "gamma": 0, @@ -35287,11 +44310,20 @@ } }, "fmv": { - "description": "Fair market value is only available on Business plans. It's it our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security.\nFor more information, contact us.", + "description": "Fair Market Value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security.\nFor more information, contact us.", "type": "number" }, + "fmv_last_updated": { + "description": "If Fair Market Value (FMV) is available, this field is the nanosecond timestamp of the last FMV calculation.", + "format": "int64", + "type": "integer", + "x-polygon-go-type": { + "name": "INanoseconds", + "path": "github.com/polygon-io/ptime" + } + }, "greeks": { - "description": "The greeks for this contract.\nThere are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money.\nSee this article for more information.", + "description": "The greeks for this contract.\nThere are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money.\nSee this article for more information.", "properties": { "delta": { "description": "The change in the option's price per $0.01 increment in the price of the underlying asset.", @@ -35339,7 +44371,7 @@ "type": "number" }, "ask_exchange": { - "description": "The ask side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The ask side exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "format": "int32", "type": "number" }, @@ -35354,7 +44386,7 @@ "type": "number" }, "bid_exchange": { - "description": "The bid side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The bid side exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "format": "int32", "type": "number" }, @@ -35404,14 +44436,14 @@ "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/options/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/options/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, "type": "array" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "price": { @@ -35628,6 +44660,7 @@ "ticker": "O:AAPL230616C00150000" }, "fmv": 0.05, + "fmv_last_updated": 1636573458757383400, "greeks": { "delta": 0.5520187372272933, "gamma": 0.00706756515659829, @@ -35818,11 +44851,20 @@ } }, "fmv": { - "description": "Fair market value is only available on Business plans. It's it our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security.\nFor more information, contact us.", + "description": "Fair Market Value is only available on Business plans. It is our proprietary algorithm to generate a real-time, accurate, fair market value of a tradable security.\nFor more information, contact us.", "type": "number" }, + "fmv_last_updated": { + "description": "If Fair Market Value (FMV) is available, this field is the nanosecond timestamp of the last FMV calculation.", + "format": "int64", + "type": "integer", + "x-polygon-go-type": { + "name": "INanoseconds", + "path": "github.com/polygon-io/ptime" + } + }, "greeks": { - "description": "The greeks for this contract.\nThere are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money.\nSee this article for more information.", + "description": "The greeks for this contract.\nThere are certain circumstances where greeks will not be returned, such as options contracts that are deep in the money.\nSee this article for more information.", "properties": { "delta": { "description": "The change in the option's price per $0.01 increment in the price of the underlying asset.", @@ -35870,7 +44912,7 @@ "type": "number" }, "ask_exchange": { - "description": "The ask side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The ask side exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "format": "int32", "type": "number" }, @@ -35885,7 +44927,7 @@ "type": "number" }, "bid_exchange": { - "description": "The bid side exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The bid side exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "format": "int32", "type": "number" }, @@ -35935,14 +44977,14 @@ "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/options/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/options/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, "type": "array" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "price": { @@ -36197,7 +45239,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v3/trades/X:BTC-USD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v3/trades/X:BTC-USD?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": [ { @@ -36240,7 +45282,7 @@ "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -36250,7 +45292,7 @@ } }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "id": { @@ -36449,7 +45491,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v3/trades/O:AZO140621P00530000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v3/trades/O:AZO140621P00530000?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": [ { @@ -36489,7 +45531,7 @@ "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -36503,7 +45545,7 @@ "type": "integer" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "participant_timestamp": { @@ -36701,7 +45743,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/v3/trades/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/v3/trades/AAPL?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": [ { @@ -36752,7 +45794,7 @@ "conditions": { "description": "A list of condition codes.", "items": { - "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://polygon.io/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", + "description": "The condition code. These are the conditions of this message. See\n[Condition Mappings](https://massive.com/docs/stocks/get_v3_reference_conditions)\nfor a mapping to exchange conditions.", "format": "int32", "type": "integer" }, @@ -36766,7 +45808,7 @@ "type": "integer" }, "exchange": { - "description": "The exchange ID. See Exchanges for Polygon.io's mapping of exchange IDs.", + "description": "The exchange ID. See Exchanges for Massive.com's mapping of exchange IDs.", "type": "integer" }, "id": { @@ -37111,7 +46153,7 @@ "application/json": { "example": { "count": 1, - "next_url": "https://api.polygon.io/vX/reference/financials?", + "next_url": "https://api.massive.com/vX/reference/financials?", "request_id": "55eb92ed43b25568ab0cce159830ea34", "results": [ { @@ -37389,8 +46431,8 @@ }, "fiscal_period": "Q1", "fiscal_year": "2022", - "source_filing_file_url": "https://api.polygon.io/v1/reference/sec/filings/0001650729-22-000010/files/site-20220403_htm.xml", - "source_filing_url": "https://api.polygon.io/v1/reference/sec/filings/0001650729-22-000010", + "source_filing_file_url": "https://api.massive.com/v1/reference/sec/filings/0001650729-22-000010/files/site-20220403_htm.xml", + "source_filing_url": "https://api.massive.com/v1/reference/sec/filings/0001650729-22-000010", "start_date": "2022-01-03" } ], @@ -37438,7 +46480,7 @@ "description": "Structured financial statements with detailed data points and metadata.", "properties": { "balance_sheet": { - "description": "Balance sheet.\nThe keys in this object can be any of the fields listed in the Balance Sheet section of the financials API glossary of terms.", + "description": "Balance sheet.\nThe keys in this object can be any of the fields listed in the Balance Sheet section of the financials API glossary of terms.", "properties": { "*": { "description": "An individual financial data point.", @@ -37491,15 +46533,15 @@ "type": "object" }, "cash_flow_statement": { - "description": "Cash flow statement.\nThe keys in this object can be any of the fields listed in the Cash Flow Statement section of the financials API glossary of terms.\nSee the attributes of the objects within `balance_sheet` for more details.", + "description": "Cash flow statement.\nThe keys in this object can be any of the fields listed in the Cash Flow Statement section of the financials API glossary of terms.\nSee the attributes of the objects within `balance_sheet` for more details.", "type": "object" }, "comprehensive_income": { - "description": "Comprehensive income.\nThe keys in this object can be any of the fields listed in the Comprehensive Income section of the financials API glossary of terms.\nSee the attributes of the objects within `balance_sheet` for more details.", + "description": "Comprehensive income.\nThe keys in this object can be any of the fields listed in the Comprehensive Income section of the financials API glossary of terms.\nSee the attributes of the objects within `balance_sheet` for more details.", "type": "object" }, "income_statement": { - "description": "Income statement.\nThe keys in this object can be any of the fields listed in the Income Statement section of the financials API glossary of terms.\nSee the attributes of the objects within `balance_sheet` for more details.", + "description": "Income statement.\nThe keys in this object can be any of the fields listed in the Income Statement section of the financials API glossary of terms.\nSee the attributes of the objects within `balance_sheet` for more details.", "type": "object" } }, @@ -37756,7 +46798,7 @@ "content": { "application/json": { "example": { - "next_url": "https://api.polygon.io/vX/reference/ipos?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", + "next_url": "https://api.massive.com/vX/reference/ipos?cursor=YWN0aXZlPXRydWUmZGF0ZT0yMDIxLTA0LTI1JmxpbWl0PTEmb3JkZXI9YXNjJnBhZ2VfbWFya2VyPUElN0M5YWRjMjY0ZTgyM2E1ZjBiOGUyNDc5YmZiOGE1YmYwNDVkYzU0YjgwMDcyMWE2YmI1ZjBjMjQwMjU4MjFmNGZiJnNvcnQ9dGlja2Vy", "request_id": "6a7e466379af0a71039d60cc78e72282", "results": [ { @@ -37994,7 +47036,7 @@ "operationId": "GetEvents", "parameters": [ { - "description": "Identifier of an asset, which can be a Ticker, CUSIP, or Composite FIGI. Specify a case-sensitive\nticker symbol (e.g. AAPL for Apple Inc). When provided a ticker, events for the entity currently\nrepresented by that ticker are returned. To find events for entities previously associated with a\nticker, obtain the relevant identifier using the [Ticker Details Endpoint](https://polygon.io/docs/stocks/get_v3_reference_tickers__ticker).", + "description": "Identifier of an asset, which can be a Ticker, CUSIP, or Composite FIGI. Specify a case-sensitive \nticker symbol (e.g. AAPL for Apple Inc). When provided a ticker, events for the entity currently \nrepresented by that ticker are returned. To find events for entities previously associated with a \nticker, obtain the relevant identifier using the [Ticker Details Endpoint](https://massive.com/docs/stocks/get_v3_reference_tickers__ticker).", "example": "META", "in": "path", "name": "id", @@ -38128,12 +47170,12 @@ ], "servers": [ { - "description": "Polygon Platform API", - "url": "https://api.polygon.io" + "description": "Massive Platform API", + "url": "https://api.massive.com" }, { - "description": "Polygon Platform API (Staging)", - "url": "https://api.staging.polygon.io" + "description": "Massive Platform API (Staging)", + "url": "https://api.staging.massive.com" } ], "tags": [ diff --git a/src/rest/.openapi-generator/FILES b/src/rest/.openapi-generator/FILES index 50b7e6f..a95b2b7 100644 --- a/src/rest/.openapi-generator/FILES +++ b/src/rest/.openapi-generator/FILES @@ -62,6 +62,8 @@ docs/GetBenzingaV1News200Response.md docs/GetBenzingaV1News200ResponseResultsInner.md docs/GetBenzingaV1Ratings200Response.md docs/GetBenzingaV1Ratings200ResponseResultsInner.md +docs/GetBenzingaV2News200Response.md +docs/GetBenzingaV2News200ResponseResultsInner.md docs/GetCryptoAggregates200Response.md docs/GetCryptoAggregates200ResponseAllOfResultsInner.md docs/GetCryptoEMA200Response.md @@ -88,8 +90,21 @@ docs/GetCryptoSnapshotTickers200ResponseAllOfTickersInnerMin.md docs/GetCryptoSnapshotTickers200ResponseAllOfTickersInnerPrevDay.md docs/GetCryptoTrades200Response.md docs/GetCryptoTrades200ResponseResultsInner.md +docs/GetCryptoV1Exchanges200Response.md +docs/GetCryptoV1Exchanges200ResponseResultsInner.md docs/GetCurrencyConversion200Response.md docs/GetCurrencyConversion200ResponseLast.md +docs/GetEtfGlobalV1Analytics200Response.md +docs/GetEtfGlobalV1Analytics200ResponseResultsInner.md +docs/GetEtfGlobalV1Constituents200Response.md +docs/GetEtfGlobalV1Constituents200ResponseResultsInner.md +docs/GetEtfGlobalV1FundFlows200Response.md +docs/GetEtfGlobalV1FundFlows200ResponseResultsInner.md +docs/GetEtfGlobalV1Profiles200Response.md +docs/GetEtfGlobalV1Profiles200ResponseResultsInner.md +docs/GetEtfGlobalV1Profiles200ResponseResultsInnerCouponExposureInner.md +docs/GetEtfGlobalV1Taxonomies200Response.md +docs/GetEtfGlobalV1Taxonomies200ResponseResultsInner.md docs/GetEvents200Response.md docs/GetEvents200ResponseResults.md docs/GetEvents200ResponseResultsEventsInner.md @@ -110,6 +125,8 @@ docs/GetForexSnapshotTickers200ResponseAllOfTickersInner.md docs/GetForexSnapshotTickers200ResponseAllOfTickersInnerDay.md docs/GetForexSnapshotTickers200ResponseAllOfTickersInnerLastQuote.md docs/GetForexSnapshotTickers200ResponseAllOfTickersInnerMin.md +docs/GetForexV1Exchanges200Response.md +docs/GetForexV1Exchanges200ResponseResultsInner.md docs/GetFuturesAggregates200Response.md docs/GetFuturesAggregates200ResponseResultsInner.md docs/GetFuturesContractDetails200Response.md @@ -128,6 +145,19 @@ docs/GetFuturesQuotes200Response.md docs/GetFuturesQuotes200ResponseResultsInner.md docs/GetFuturesTrades200Response.md docs/GetFuturesTrades200ResponseResultsInner.md +docs/GetFuturesVXContractsNew200Response.md +docs/GetFuturesVXContractsNew200ResponseResultsInner.md +docs/GetFuturesVXExchanges200Response.md +docs/GetFuturesVXExchanges200ResponseResultsInner.md +docs/GetFuturesVXProductsNew200Response.md +docs/GetFuturesVXProductsNew200ResponseResultsInner.md +docs/GetFuturesVXSnapshot200Response.md +docs/GetFuturesVXSnapshot200ResponseResultsInner.md +docs/GetFuturesVXSnapshot200ResponseResultsInnerDetails.md +docs/GetFuturesVXSnapshot200ResponseResultsInnerLastMinute.md +docs/GetFuturesVXSnapshot200ResponseResultsInnerLastQuote.md +docs/GetFuturesVXSnapshot200ResponseResultsInnerLastTrade.md +docs/GetFuturesVXSnapshot200ResponseResultsInnerSession.md docs/GetGroupedCryptoAggregates200Response.md docs/GetGroupedCryptoAggregates200ResponseAllOfResultsInner.md docs/GetGroupedStocksAggregates200Response.md @@ -161,6 +191,8 @@ docs/GetOptionsQuotes200Response.md docs/GetOptionsQuotes200ResponseResultsInner.md docs/GetOptionsTrades200Response.md docs/GetOptionsTrades200ResponseResultsInner.md +docs/GetOptionsV1Exchanges200Response.md +docs/GetOptionsV1Exchanges200ResponseResultsInner.md docs/GetPreviousCryptoAggregates200Response.md docs/GetPreviousForexAggregates200Response.md docs/GetPreviousForexAggregates200ResponseAllOfResultsInner.md @@ -183,6 +215,14 @@ docs/GetSnapshots200ResponseResultsInnerLastTrade.md docs/GetSnapshots200ResponseResultsInnerUnderlyingAsset.md docs/GetStocksAggregates200Response.md docs/GetStocksAggregates200ResponseAllOfResultsInner.md +docs/GetStocksFinancialsV1BalanceSheets200Response.md +docs/GetStocksFinancialsV1BalanceSheets200ResponseResultsInner.md +docs/GetStocksFinancialsV1CashFlowStatements200Response.md +docs/GetStocksFinancialsV1CashFlowStatements200ResponseResultsInner.md +docs/GetStocksFinancialsV1IncomeStatements200Response.md +docs/GetStocksFinancialsV1IncomeStatements200ResponseResultsInner.md +docs/GetStocksFinancialsV1Ratios200Response.md +docs/GetStocksFinancialsV1Ratios200ResponseResultsInner.md docs/GetStocksQuotes200Response.md docs/GetStocksQuotes200ResponseResultsInner.md docs/GetStocksSnapshotDirection200Response.md @@ -197,6 +237,8 @@ docs/GetStocksSnapshotTickers200ResponseAllOfTickersInnerMin.md docs/GetStocksSnapshotTickers200ResponseAllOfTickersInnerPrevDay.md docs/GetStocksTrades200Response.md docs/GetStocksTrades200ResponseResultsInner.md +docs/GetStocksV1Exchanges200Response.md +docs/GetStocksV1Exchanges200ResponseResultsInner.md docs/GetStocksV1ShortInterest200Response.md docs/GetStocksV1ShortInterest200ResponseResultsInner.md docs/GetStocksV1ShortVolume200Response.md diff --git a/src/rest/api.ts b/src/rest/api.ts index 41e9403..2e3aae9 100644 --- a/src/rest/api.ts +++ b/src/rest/api.ts @@ -180,7 +180,7 @@ export interface Company { */ 'tags'?: Array