From 0115feb8334d857e489b43ba69e79a459a3f091d Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 11 Mar 2024 10:20:31 -0700 Subject: [PATCH] [Enhancement] Allow Multiple Symbols For Intrinio Key Metrics (#6186) * improve intrinio key metrics * type thing * some thing * ruff --- .../provider/standard_models/key_metrics.py | 10 +- .../openbb/package/equity_fundamental.py | 99 +- .../openbb_intrinio/models/key_metrics.py | 334 +++++- .../test_intrinio_key_metrics_fetcher.yaml | 1029 ++++++++++++++++- 4 files changed, 1368 insertions(+), 104 deletions(-) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/key_metrics.py b/openbb_platform/core/openbb_core/provider/standard_models/key_metrics.py index 80158688dc8..d2580e481cf 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/key_metrics.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/key_metrics.py @@ -1,6 +1,6 @@ """Key Metrics Standard Model.""" -from typing import List, Literal, Optional, Set, Union +from typing import Literal, Optional from pydantic import Field, field_validator @@ -48,11 +48,3 @@ class KeyMetricsData(Data): pe_ratio: Optional[float] = Field( default=None, description="Price-to-earnings ratio (P/E ratio)" ) - - @field_validator("symbol", mode="before", check_fields=False) - @classmethod - def to_upper(cls, v: Union[str, List[str], Set[str]]): - """Convert field to uppercase.""" - if isinstance(v, str): - return v.upper() - return ",".join([symbol.upper() for symbol in list(v)]) if v else None diff --git a/openbb_platform/openbb/package/equity_fundamental.py b/openbb_platform/openbb/package/equity_fundamental.py index c0c6f810ecb..e0b087c5cfa 100644 --- a/openbb_platform/openbb/package/equity_fundamental.py +++ b/openbb_platform/openbb/package/equity_fundamental.py @@ -2412,7 +2412,7 @@ class ROUTER_equity_fundamental(Container): symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter( - description="Symbol to get data for. Multiple items allowed for provider(s): fmp, yfinance." + description="Symbol to get data for. Multiple items allowed for provider(s): fmp, intrinio, yfinance." ), ], period: Annotated[ @@ -2436,7 +2436,7 @@ class ROUTER_equity_fundamental(Container): Parameters ---------- symbol : Union[str, List[str]] - Symbol to get data for. Multiple items allowed for provider(s): fmp, yfinance. + Symbol to get data for. Multiple items allowed for provider(s): fmp, intrinio, yfinance. period : Optional[Literal['annual', 'quarter']] Time period of the data to return. limit : Optional[int] @@ -2494,8 +2494,8 @@ class ROUTER_equity_fundamental(Container): Shareholders equity per share (provider: fmp) interest_debt_per_share : Optional[float] Interest debt per share (provider: fmp) - enterprise_value : Optional[Union[float, int]] - Enterprise value (provider: fmp, yfinance) + enterprise_value : Optional[int] + Enterprise value (provider: fmp, intrinio, yfinance) price_to_sales_ratio : Optional[float] Price-to-sales ratio (provider: fmp) pocf_ratio : Optional[float] @@ -2515,7 +2515,8 @@ class ROUTER_equity_fundamental(Container): ev_to_free_cash_flow : Optional[float] Enterprise value-to-free cash flow ratio (provider: fmp) earnings_yield : Optional[float] - Earnings yield (provider: fmp) + Earnings yield (provider: fmp); + Earnings yield, as a normalized percent. (provider: intrinio) free_cash_flow_yield : Optional[float] Free cash flow yield (provider: fmp) debt_to_equity : Optional[float] @@ -2586,15 +2587,73 @@ class ROUTER_equity_fundamental(Container): Return on equity (provider: fmp) capex_per_share : Optional[float] Capital expenditures per share (provider: fmp) + price_to_book : Optional[float] + Price to book ratio. (provider: intrinio, yfinance) + price_to_tangible_book : Optional[float] + Price to tangible book ratio. (provider: intrinio) + price_to_revenue : Optional[float] + Price to revenue ratio. (provider: intrinio) + quick_ratio : Optional[float] + Quick ratio. (provider: intrinio, yfinance) + gross_margin : Optional[float] + Gross margin, as a normalized percent. (provider: intrinio, yfinance) + ebit_margin : Optional[float] + EBIT margin, as a normalized percent. (provider: intrinio) + profit_margin : Optional[float] + Profit margin, as a normalized percent. (provider: intrinio, yfinance) + eps : Optional[float] + Basic earnings per share. (provider: intrinio) + eps_growth : Optional[float] + EPS growth, as a normalized percent. (provider: intrinio) + revenue_growth : Optional[float] + Revenue growth, as a normalized percent. (provider: intrinio, yfinance) + ebitda_growth : Optional[float] + EBITDA growth, as a normalized percent. (provider: intrinio) + ebit_growth : Optional[float] + EBIT growth, as a normalized percent. (provider: intrinio) + net_income_growth : Optional[float] + Net income growth, as a normalized percent. (provider: intrinio) + free_cash_flow_to_firm_growth : Optional[float] + Free cash flow to firm growth, as a normalized percent. (provider: intrinio) + invested_capital_growth : Optional[float] + Invested capital growth, as a normalized percent. (provider: intrinio) + return_on_assets : Optional[float] + Return on assets, as a normalized percent. (provider: intrinio, yfinance) + return_on_equity : Optional[float] + Return on equity, as a normalized percent. (provider: intrinio, yfinance) + return_on_invested_capital : Optional[float] + Return on invested capital, as a normalized percent. (provider: intrinio) + ebitda : Optional[int] + Earnings before interest, taxes, depreciation, and amortization. (provider: intrinio) + ebit : Optional[int] + Earnings before interest and taxes. (provider: intrinio) + long_term_debt : Optional[int] + Long-term debt. (provider: intrinio) + total_debt : Optional[int] + Total debt. (provider: intrinio) + total_capital : Optional[int] + The sum of long-term debt and total shareholder equity. (provider: intrinio) + free_cash_flow_to_firm : Optional[int] + Free cash flow to firm. (provider: intrinio) + altman_z_score : Optional[float] + Altman Z-score. (provider: intrinio) beta : Optional[float] - Beta relative to the broad market calculated on a rolling three-year basis. (provider: intrinio); + Beta relative to the broad market (rolling three-year). (provider: intrinio); Beta relative to the broad market (5-year monthly). (provider: yfinance) - volume : Optional[float] - Volume (provider: intrinio) - fifty_two_week_high : Optional[float] + last_price : Optional[float] + Last price of the stock. (provider: intrinio) + year_high : Optional[float] 52 week high (provider: intrinio) - fifty_two_week_low : Optional[float] + year_low : Optional[float] 52 week low (provider: intrinio) + volume_avg : Optional[int] + Average daily volume. (provider: intrinio) + short_interest : Optional[int] + Number of shares reported as sold short. (provider: intrinio) + shares_outstanding : Optional[int] + Weighted average shares outstanding (TTM). (provider: intrinio) + days_to_cover : Optional[float] + Days to cover short interest, based on average daily volume. (provider: intrinio) forward_pe : Optional[float] Forward price-to-earnings ratio. (provider: yfinance) peg_ratio : Optional[float] @@ -2611,30 +2670,16 @@ class ROUTER_equity_fundamental(Container): Earnings growth (Year Over Year), as a normalized percent. (provider: yfinance) earnings_growth_quarterly : Optional[float] Quarterly earnings growth (Year Over Year), as a normalized percent. (provider: yfinance) - revenue_growth : Optional[float] - Revenue growth (Year Over Year), as a normalized percent. (provider: yfinance) enterprise_to_revenue : Optional[float] Enterprise value to revenue ratio. (provider: yfinance) - quick_ratio : Optional[float] - Quick ratio. (provider: yfinance) - gross_margin : Optional[float] - Gross margin, as a normalized percent. (provider: yfinance) operating_margin : Optional[float] Operating margin, as a normalized percent. (provider: yfinance) ebitda_margin : Optional[float] EBITDA margin, as a normalized percent. (provider: yfinance) - profit_margin : Optional[float] - Profit margin, as a normalized percent. (provider: yfinance) - return_on_assets : Optional[float] - Return on assets, as a normalized percent. (provider: yfinance) - return_on_equity : Optional[float] - Return on equity, as a normalized percent. (provider: yfinance) dividend_yield_5y_avg : Optional[float] 5-year average dividend yield, as a normalized percent. (provider: yfinance) book_value : Optional[float] Book value per share. (provider: yfinance) - price_to_book : Optional[float] - Price-to-book ratio. (provider: yfinance) overall_risk : Optional[float] Overall risk score. (provider: yfinance) audit_risk : Optional[float] @@ -2673,7 +2718,11 @@ class ROUTER_equity_fundamental(Container): "limit": limit, }, extra_params=kwargs, - extra_info={"symbol": {"multiple_items_allowed": ["fmp", "yfinance"]}}, + extra_info={ + "symbol": { + "multiple_items_allowed": ["fmp", "intrinio", "yfinance"] + } + }, ) ) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/key_metrics.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/key_metrics.py index 478bb9c6008..2dbecc4a0e3 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/key_metrics.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/key_metrics.py @@ -1,12 +1,18 @@ """Intrinio Key Metrics Model.""" -from typing import Any, Dict, List, Optional +# pylint: disable=unused-argument +import asyncio +from typing import Any, Dict, List, Optional +from warnings import warn + +from openbb_core.provider.abstract.data import ForceInt from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.key_metrics import ( KeyMetricsData, KeyMetricsQueryParams, ) +from openbb_core.provider.utils.errors import EmptyDataError from openbb_core.provider.utils.helpers import ( ClientResponse, amake_requests, @@ -15,15 +21,13 @@ from pydantic import Field class IntrinioKeyMetricsQueryParams(KeyMetricsQueryParams): - """Intrinio Key Metrics Query. - - Source: https://data.intrinio.com/data-tag/beta - https://data.intrinio.com/data-tag/volume - https://data.intrinio.com/data-tag/52_week_high - https://data.intrinio.com/data-tag/52_week_low - https://data.intrinio.com/data-tag/dividendyield - https://data.intrinio.com/data-tag/pricetoearnings """ + Intrinio Key Metrics Query. + + Source: https://data.intrinio.com/data-tags/ + """ + + __json_schema_extra__ = {"symbol": ["multiple_items_allowed"]} class IntrinioKeyMetricsData(KeyMetricsData): @@ -32,26 +36,200 @@ class IntrinioKeyMetricsData(KeyMetricsData): __alias_dict__ = { "market_cap": "marketcap", "pe_ratio": "pricetoearnings", + "price_to_book": "pricetobook", + "price_to_tangible_book": "pricetotangiblebook", + "price_to_revenue": "pricetorevenue", + "long_term_debt": "ltdebtandcapleases", + "total_debt": "debt", + "total_capital": "totalcapital", + "enterprise_value": "enterprisevalue", + "eps_growth": "epsgrowth", + "ebit_growth": "ebitgrowth", + "ebitda_growth": "ebitdagrowth", + "revenue_growth": "revenuegrowth", + "net_income_growth": "netincomegrowth", + "free_cash_flow_to_firm_growth": "fcffgrowth", + "invested_capital_growth": "investedcapitalgrowth", + "quick_ratio": "quickratio", + "gross_margin": "grossmargin", + "ebit_margin": "ebitmargin", + "profit_margin": "profitmargin", + "return_on_assets": "roa", + "return_on_equity": "roe", + "return_on_invested_capital": "roic", + "free_cash_flow_to_firm": "freecashflow", + "altman_z_score": "altmanzscore", + "earnings_yield": "earningsyield", + "dividend_yield": "dividendyield", + "year_high": "52_week_high", + "year_low": "52_week_low", + "volume_avg": "average_daily_volume", + "shares_outstanding": "adjweightedavebasicsharesos", + "eps": "basiceps", } - beta: float = Field( - description="Beta relative to the broad market calculated on a rolling three-year basis." + price_to_book: Optional[float] = Field( + default=None, + description="Price to book ratio.", ) - volume: float = Field(description="Volume") - fifty_two_week_high: float = Field(description="52 week high", alias="52_week_high") - fifty_two_week_low: float = Field(description="52 week low", alias="52_week_low") - dividend_yield: float = Field( + price_to_tangible_book: Optional[float] = Field( + default=None, + description="Price to tangible book ratio.", + ) + price_to_revenue: Optional[float] = Field( + default=None, + description="Price to revenue ratio.", + ) + quick_ratio: Optional[float] = Field( + default=None, + description="Quick ratio.", + ) + gross_margin: Optional[float] = Field( + default=None, + description="Gross margin, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + ebit_margin: Optional[float] = Field( + default=None, + description="EBIT margin, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + profit_margin: Optional[float] = Field( + default=None, + description="Profit margin, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + eps: Optional[float] = Field( + default=None, + description="Basic earnings per share.", + ) + eps_growth: Optional[float] = Field( + default=None, + description="EPS growth, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + revenue_growth: Optional[float] = Field( + default=None, + description="Revenue growth, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + ebitda_growth: Optional[float] = Field( + default=None, + description="EBITDA growth, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + ebit_growth: Optional[float] = Field( + default=None, + description="EBIT growth, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + net_income_growth: Optional[float] = Field( + default=None, + description="Net income growth, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + free_cash_flow_to_firm_growth: Optional[float] = Field( + default=None, + description="Free cash flow to firm growth, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + invested_capital_growth: Optional[float] = Field( + default=None, + description="Invested capital growth, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + return_on_assets: Optional[float] = Field( + default=None, + description="Return on assets, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + return_on_equity: Optional[float] = Field( + default=None, + description="Return on equity, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + return_on_invested_capital: Optional[float] = Field( + default=None, + description="Return on invested capital, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + ebitda: Optional[ForceInt] = Field( + default=None, + description="Earnings before interest, taxes, depreciation, and amortization.", + ) + ebit: Optional[ForceInt] = Field( + default=None, + description="Earnings before interest and taxes.", + ) + long_term_debt: Optional[ForceInt] = Field( + default=None, + description="Long-term debt.", + ) + total_debt: Optional[ForceInt] = Field( + default=None, + description="Total debt.", + ) + total_capital: Optional[ForceInt] = Field( + default=None, + description="The sum of long-term debt and total shareholder equity.", + ) + enterprise_value: Optional[ForceInt] = Field( + default=None, + description="Enterprise value.", + ) + free_cash_flow_to_firm: Optional[ForceInt] = Field( + default=None, + description="Free cash flow to firm.", + ) + altman_z_score: Optional[float] = Field( + default=None, + description="Altman Z-score.", + ) + beta: Optional[float] = Field( + default=None, + description="Beta relative to the broad market (rolling three-year).", + ) + dividend_yield: Optional[float] = Field( default=None, description="Dividend yield, as a normalized percent.", - json_schema_extra={"unit_measurement": "percent", "frontend_multiply": 100}, - alias="dividendyield", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + earnings_yield: Optional[float] = Field( + default=None, + description="Earnings yield, as a normalized percent.", + json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100}, + ) + last_price: Optional[float] = Field( + default=None, + description="Last price of the stock.", + ) + year_high: Optional[float] = Field( + default=None, + description="52 week high", + ) + year_low: float = Field(default=None, description="52 week low") + volume_avg: Optional[ForceInt] = Field( + default=None, + description="Average daily volume.", + ) + short_interest: Optional[ForceInt] = Field( + default=None, + description="Number of shares reported as sold short.", + ) + shares_outstanding: Optional[ForceInt] = Field( + default=None, + description="Weighted average shares outstanding (TTM).", + ) + days_to_cover: Optional[float] = Field( + default=None, + description="Days to cover short interest, based on average daily volume.", ) class IntrinioKeyMetricsFetcher( Fetcher[ IntrinioKeyMetricsQueryParams, - IntrinioKeyMetricsData, + List[IntrinioKeyMetricsData], ] ): """Transform the query, extract and transform the data from the Intrinio endpoints.""" @@ -59,44 +237,128 @@ class IntrinioKeyMetricsFetcher( @staticmethod def transform_query(params: Dict[str, Any]) -> IntrinioKeyMetricsQueryParams: """Transform the query params.""" + + if params.get("period") is not None and params.get("period") != "annual": + warn( + "The period parameter is not available for this Intrinio endpoint, it will be ignored." + ) return IntrinioKeyMetricsQueryParams(**params) @staticmethod async def aextract_data( - query: IntrinioKeyMetricsQueryParams, # pylint: disable=unused-argument + query: IntrinioKeyMetricsQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, - ) -> Dict: + ) -> List[Dict]: """Return the raw data from the Intrinio endpoint.""" api_key = credentials.get("intrinio_api_key") if credentials else "" tags = [ "beta", - "volume", + "average_daily_volume", + "basiceps", + "basicdilutedeps", "marketcap", + "last_price", "52_week_high", "52_week_low", "dividendyield", "pricetoearnings", + "pricetorevenue", + "pricetobook", + "pricetotangiblebook", + "grossmargin", + "ebitmargin", + "profitmargin", + "roa", + "roe", + "roic", + "earningsyield", + "days_to_cover", + "short_interest", + "revenuegrowth", + "ebitgrowth", + "ebitdagrowth", + "epsgrowth", + "netincomegrowth", + "investedcapitalgrowth", + "debt", + "totalcapital", + "enterprisevalue", + "freecashflow", + "fcffgrowth", + "ltdebtandcapleases", + "altmanzscore", + "quickratio", + "ebit", + "ebitda", + "adjweightedavebasicsharesos", ] + results = [] + urls = [] + symbols = query.symbol.split(",") - urls = [ - f"https://api-v2.intrinio.com/companies/{query.symbol}/data_point/{tag}?api_key={api_key}" - for tag in tags - ] + async def get_one(symbol: str): + """Get data for one symbol.""" - async def callback(response: ClientResponse, _: Any) -> Dict: - """Return the response.""" - return {response.url.parts[-1]: await response.json()} + _urls = [ + f"https://api-v2.intrinio.com/companies/{symbol}/data_point/{tag}?api_key={api_key}" + for tag in tags + ] + urls.extend(_urls) - data: Dict = {"symbol": query.symbol} - for result in await amake_requests(urls, callback, **kwargs): - data.update(result) + async def callback(response: ClientResponse, _: Any) -> Dict: + """Return the response.""" + return {response.url.parts[-1]: await response.json()} - return data + data = {} + for result in await amake_requests(urls, callback, **kwargs): + data.update(result) + if data: + data["symbol"] = symbol + results.append(data) + + tasks = [get_one(symbol) for symbol in symbols] + + await asyncio.gather(*tasks) + + if not results: + raise EmptyDataError() + + return results @staticmethod def transform_data( - query: IntrinioKeyMetricsQueryParams, data: List[Dict], **kwargs: Any - ) -> IntrinioKeyMetricsData: - """Return the transformed data.""" - return IntrinioKeyMetricsData.model_validate(data) + query: IntrinioKeyMetricsQueryParams, + data: List[Dict], + **kwargs: Any, + ) -> List[IntrinioKeyMetricsData]: + """Validate and transform the data.""" + + # Sort the results by the order of the symbols in the query. + symbols = query.symbol.split(",") + data = sorted( + data, + key=( + lambda item: ( + symbols.index(item["symbol"]) + if item["symbol"] in symbols + else len(symbols) + ) + ), + ) + + results: List[IntrinioKeyMetricsData] = [] + for item in data: + + if item.get("marketcap") is None or isinstance(item.get("marketcap"), dict): + warn(f"Symbol Error: No data found for {item.get('symbol')}") + continue + + for key, value in item.copy().items(): + # A bad response in a field will return a dict here, so we remove it. + if isinstance(value, dict): + _ = item.pop(key) + + results.append(IntrinioKeyMetricsData.model_validate(item)) + + return results diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_key_metrics_fetcher.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_key_metrics_fetcher.yaml index 0d78efe2d31..c15e55ea5bb 100644 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_key_metrics_fetcher.yaml +++ b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_key_metrics_fetcher.yaml @@ -3,17 +3,17 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/beta?api_key=MOCK_API_KEY + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/days_to_cover?api_key=MOCK_API_KEY response: body: string: !!binary | - H4sIAKN4X2UAAzLUMzI2MAYAAAD//wMAyNiMHAYAAAA= + H4sIAEyP7mUAAzLSM7GwAAAAAP//AwDfjdFBBQAAAA== headers: Connection: - keep-alive @@ -22,7 +22,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 23 Nov 2023 16:06:59 GMT + - Mon, 11 Mar 2024 04:57:48 GMT Transfer-Encoding: - chunked Vary: @@ -34,17 +34,17 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/volume?api_key=MOCK_API_KEY + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/last_price?api_key=MOCK_API_KEY response: body: string: !!binary | - H4sIAKR4X2UAAzK2NDM2MDA01DMAAAAA//8DADlUTt0KAAAA + H4sIAEyP7mUAAzI0N9AzMbe0tDQ1NzI3NbY0MAMAAAD//wMAPZhnjRIAAAA= headers: Connection: - keep-alive @@ -53,7 +53,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 23 Nov 2023 16:07:00 GMT + - Mon, 11 Mar 2024 04:57:48 GMT Transfer-Encoding: - chunked Vary: @@ -65,17 +65,17 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/marketcap?api_key=MOCK_API_KEY + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/enterprisevalue?api_key=MOCK_API_KEY response: body: string: !!binary | - H4sIAKZ4X2UAAzI2MDI1sLQwNjMzNTfQMwAAAAD//wMAFx5PfA8AAAA= + H4sIAEyP7mUAAzIytTSxMDOxNDS3NDbQMwAAAAD//wMAN5ouRQ8AAAA= headers: Connection: - keep-alive @@ -84,7 +84,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 23 Nov 2023 16:07:02 GMT + - Mon, 11 Mar 2024 04:57:48 GMT Transfer-Encoding: - chunked Vary: @@ -96,17 +96,17 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/52_week_high?api_key=MOCK_API_KEY + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/earningsyield?api_key=MOCK_API_KEY response: body: string: !!binary | - H4sIAKd4X2UAAzK0NNczBwAAAP//AwA2jt5FBQAAAA== + H4sIAEyP7mUAAzLQMzA2tzQxAwAAAP//AwBHc0CvCAAAAA== headers: Connection: - keep-alive @@ -115,7 +115,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 23 Nov 2023 16:07:03 GMT + - Mon, 11 Mar 2024 04:57:48 GMT Transfer-Encoding: - chunked Vary: @@ -127,17 +127,17 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/52_week_low?api_key=MOCK_API_KEY + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/quickratio?api_key=MOCK_API_KEY response: body: string: !!binary | - H4sIAKh4X2UAAzI0MtYzsQAAAAD//wMAgelg5gYAAAA= + H4sIAEyP7mUAAzLQszS0NAMAAAD//wMAxBf9ogYAAAA= headers: Connection: - keep-alive @@ -146,7 +146,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 23 Nov 2023 16:07:04 GMT + - Mon, 11 Mar 2024 04:57:48 GMT Transfer-Encoding: - chunked Vary: @@ -158,17 +158,17 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET - uri: https://api-v2.intrinio.com/companies/AAPL/data_point/dividendyield?api_key=MOCK_API_KEY + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/average_daily_volume?api_key=MOCK_API_KEY response: body: string: !!binary | - H4sIAKl4X2UAAzLQMzAwtTA2BwAAAP//AwB6DW17CAAAAA== + H4sIAEyP7mUAAzIyNTEwMDKw1DMAAAAA//8DAE60GmsKAAAA headers: Connection: - keep-alive @@ -177,7 +177,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 23 Nov 2023 16:07:05 GMT + - Mon, 11 Mar 2024 04:57:48 GMT Transfer-Encoding: - chunked Vary: @@ -189,9 +189,9 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET @@ -199,7 +199,7 @@ interactions: response: body: string: !!binary | - H4sIAKp4X2UAAzI21DO0sDACAAAA//8DAEvjlwgHAAAA + H4sIAEyP7mUAAzIy0zM2NTYBAAAA//8DAGH/oxsHAAAA headers: Connection: - keep-alive @@ -208,7 +208,968 @@ interactions: Content-Type: - application/json Date: - - Thu, 23 Nov 2023 16:07:06 GMT + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/beta?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLUMzIwMwUAAAD//wMAImTzoQYAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/short_interest?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzIzNrQ0NTUx1DMAAAAA//8DAEWtD68KAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/dividendyield?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzAwNTMyBgAAAP//AwAo1YVvCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/debt?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI0sDAwMYAAPQMAAAAA//8DAOm1FuQOAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/pricetobook?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI21bOwsDQGAAAA//8DAADvEoAHAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/roe?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLUMzUxMrM0AQAAAP//AwAUliXmCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/pricetorevenue?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLTs7A0sQQAAAD//wMA2KEa5wYAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitgrowth?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzAxNjMyBwAAAP//AwAt6AO4CAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/basiceps?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLTMzEDAAAA//8DAOV1R7IEAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/pricetotangiblebook?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI21bOwsDQGAAAA//8DAADvEoAHAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/epsgrowth?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzA3NjE1AwAAAP//AwDC4GHECAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/marketcap?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzIyM7U0trS0NDS3NDbQMwAAAAD//wMAZzw/Hg8AAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ltdebtandcapleases?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAA7I0NbCwMAADPQMAAAAA//8DAP5m3rQNAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/grossmargin?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzE1MDKzAAAAAP//AwAsXJ3/CAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/fcffgrowth?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzQwsDC2BAAAAP//AwDqA1dgCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/roa?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQM7KwMDI0BQAAAP//AwAVuRAlCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/altmanzscore?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAA7LQM7M0tgQAAAD//wMAXCGOcgYAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/totalcapital?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzK0MDI0MYAAPQMAAAAA//8DACVRrJUOAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/52_week_low?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI0MdOzMAYAAAD//wMAl3qZZQYAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/profitmargin?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzIzNDM2AgAAAP//AwADF3NMCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/netincomegrowth?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzAzMDY2AQAAAP//AwCztq9WCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitdagrowth?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzAxMLM0BQAAAP//AwAk/0ynCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/freecashflow?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAA7I0tjQyMTQ1MTYz1LMAAAAA//8DAGA0abkNAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/revenuegrowth?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAA9I10DMwMDE3MgUAAAD//wMAfNMNzwkAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitda?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI0srSwMDcAAz0DAAAAAP//AwDPIHHbDgAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/investedcapitalgrowth?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLWMzAwNzQyAgAAAP//AwBTPEs5CAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/adjweightedavebasicsharesos?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI0NTWwNDczNjAw0DMAAAAA//8DAOsDp3QNAAAA + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/roic?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI007M0tDAwNgQAAAD//wMAg08WCAkAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebit?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzI0tDAxNjMAAz0DAAAAAP//AwAdfZ8YDgAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/52_week_high?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzK0tNQzNgcAAAD//wMAorPzIQYAAAA= + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT + Transfer-Encoding: + - chunked + Vary: + - Origin,Accept-Encoding + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + method: GET + uri: https://api-v2.intrinio.com/companies/AAPL/data_point/ebitmargin?api_key=MOCK_API_KEY + response: + body: + string: !!binary | + H4sIAEyP7mUAAzLQMzYwNzAzBgAAAP//AwC71vkjCAAAAA== + headers: + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 11 Mar 2024 04:57:48 GMT Transfer-Encoding: - chunked Vary: