Endpoints disponibles ===================== .. note:: Todos los llamados a la API deben incluir el parámetro ``key``, que corresponde al acceso a la API Dolphin Markets, incluida en tu suscripción. Esto es adicional a los parámetros obligatorios mencionados a continuación. .. list-table:: :widths: 25 25 50 :header-rows: 1 * - Descripción - Método - URL * - afp-portfolios - ``POST`` - ``/api/afp-portfolios`` * - currencies - ``POST`` - ``/api/currencies`` * - delinquency - ``POST`` - ``/api/delinquency`` * - dividends - ``POST`` - ``/api/dividends`` * - financial-statements - ``POST`` - ``/api/financial-statements`` * - fixed-income - ``POST`` - ``/api/fixed-income`` * - fixed-income-amortization-table - ``POST`` - ``/api/fixed-income-amortization-table`` * - fixed-income-description - ``POST`` - ``/api/fixed-income-description`` * - funds - ``POST`` - ``/api/funds`` * - funds-description - ``POST`` - ``/api/funds-description`` * - funds-holdings - ``POST`` - ``/api/funds-holdings`` * - ratios - ``POST`` - ``/api/ratios`` * - stocks - ``POST`` - ``/api/stocks`` .. _available_endpoints: afp-portfolios -------------- .. http:post:: https://dolphin.markets/api/afp-portfolios :noindex: Entrega los portafolios de inversión de las AFP. **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, } r = requests.post('https://dolphin.markets/api/afp-portfolios', json=payload) df = pd.DataFrame(r.json()) currencies ---------- .. http:post:: https://dolphin.markets/api/currencies :noindex: Entrega valores de la moneda solicitada en frecuencia diaria. :form list: currencies (*required*) -- Monedas a consultar. **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, "currencies": ["USDCLP"] } r = requests.post('https://dolphin.markets/api/currencies', json=payload) df = pd.DataFrame(r.json()) delinquency ----------- .. http:post:: https://dolphin.markets/api/delinquency :noindex: Entrega una tabla con las carteras de crédito de la empresa solicitada. :form list: companies (*required*) -- Empresas a consultar. **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, "companies": ["FORUM SERVICIOS FINANCIEROS S.A."] } r = requests.post('https://dolphin.markets/api/delinquency', json=payload) df = pd.DataFrame(r.json()) dividends --------- .. http:post:: https://dolphin.markets/api/dividends :noindex: Entrega una tabla con los dividendos de la empresa solicitada. :form list: tickers (*required*) -- Nemotécnicos a consultar. **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, "tickers": ["CMPC", "COPEC"] } r = requests.post('https://dolphin.markets/api/dividends', json=payload) df = pd.DataFrame(r.json()) financial-statements -------------------- .. http:post:: https://dolphin.markets/api/financial-statements :noindex: Entrega los estados financieros de la empresa solicitada. :form list: companies (*required*) -- Empresas a consultar. :form list: type (*optional*) -- Tipo de estados financieros a consultar. Disponibles: ``EERR``, ``EFE`` y ``ESF``. :form list: account (*optional*) -- Cuentas a consultar. Los valores disponibles para el parámetro ``account`` se pueden obtener de la siguiente manera: .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, 'companies': [], 'type': [], 'account': ['?'] } r = requests.post('https://dolphin.markets/api/financial-statements', json=payload) df = pd.DataFrame(r.json()) df['ifrs'].tolist() .. note:: Los valores de este parámetro corresponden a las cuentas de los estados financieros de acuerdo con los códigos de la CMF e IFRS. Estos pueden variar dependiendo de la compañía solicitada o corresponde a un banco. **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, "tickers": ["SOCIEDAD QUIMICA Y MINERA DE CHILE S.A."], "type": ["EERR"], } r = requests.post('https://dolphin.markets/api/financial-statements', json=payload) df = pd.DataFrame(r.json()) fixed-income ------------ .. http:post:: https://dolphin.markets/api/fixed-income :noindex: Entrega una tabla con las transacciones de los instrumentos de renta fija solicitados. Necesita al menos uno de los siguientes parámetros: ``issuers``, ``tickers`` o ``values``. :form list: issuers (*optional*) -- Emisores a consultar. :form list: tickers (*optional*) -- Instrumentos a consultar. :form list: values (*optional*) -- Valores solicitados. :form list: start (*optional*) -- Fecha de inicio para las transacciones. :form list: end (*optional*) -- Fecha de término para las transacciones. .. note:: Si quieres acotar los resultados de la consulta, puedes utilizar los parámetros ``start`` y ``end``, en formato ``YYYY-MM-DD``. Estos parámetros están disponibles para todos los endpoints que entregan datos históricos. **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests data = { 'key': API_KEY, 'values': ['close', 'tir'], 'tickers': ['BBCIG10618', 'BTU0000325', 'BITAAJ0615'], 'start': '2020-01-01' } r = requests.post('https://dolphin.markets/api/fixed-income', json=data) df = pd.DataFrame(r.json()) fixed-income-amortization-table ------------------------------- .. http:post:: https://dolphin.markets/api/fixed-income-amortization-table :noindex: Entrega una tabla con la tabla de amortización de los instrumentos de renta fija solicitados. :form list: tickers (*required*) -- Instrumentos a consultar. fixed-income-description ------------------------ .. http:post:: https://dolphin.markets/api/fixed-income-description :noindex: Entrega una tabla con la descripción de los instrumentos de renta fija solicitados. :form list: tickers (*required*) -- Instrumentos a consultar. :form list: values (*optional*) -- Valores solicitados. funds ----- .. http:post:: POST https://dolphin.markets/api/funds :noindex: Entrega una tabla con los valores cuota y otros datos de los fondos mutuos o de inversión solicitados. :form list: ruts (*required*) -- RUTs a consultar. :form list: series (*optional*) -- Series a consultar. Para obtener una lista de ruts disponibles en Dolphin Markets, puedes utilizar el siguiente código: .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, 'ruts': ['?'], } r = requests.post('https://dolphin.markets/api/funds', json=payload) df = pd.DataFrame(r.json()) df['rut'].tolist() funds-description ----------------- .. http:post:: https://dolphin.markets/api/funds-description :noindex: Entrega una tabla con la descripción de los fondos mutuos o de inversión solicitados. :form list: ruts (*required*) -- RUTs a consultar. :form list: series (*optional*) -- Series a consultar. funds-holdings -------------- .. http:post:: https://dolphin.markets/api/funds-holdings :noindex: Entrega una tabla con las posiciones de los fondos mutuos o de inversión solicitados. :form list: ruts (*required*) -- RUTs a consultar. :form list: values (*required*) -- Valores solicitados. :form list: periods (*optional*) -- Periodos a consultar. Puede ser ``latest`` en caso de necesitar las últimas posiciones disponibles. Los valores disponibles para el parámetro ``values`` son los siguientes: * nombre_fondo * unidades * valorizacion * pct_capital_del_emisor * pct_activo_del_emisor * pct_activo_del_fondo * fund_type * ticker_expanded_name * ticker_expanded_id **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, 'ruts': ['8490'], 'periods': ['2021-12-31'], 'values': ['pct_activo_del_fondo'], } r = requests.post('https://dolphin.markets/api/funds-holdings', json=payload) df = pd.DataFrame(r.json()) df ratios ------ .. http:post:: https://dolphin.markets/api/ratios :noindex: Entrega una tabla con los ratios financieros de la empresa solicitada. :form list: companies (*required*) -- Empresas a consultar. :form list: ratios (*required*) -- Ratios solicitados. Los ratios disponibles para el parámetro ``ratios`` se pueden obtener con el siguiente código y son los siguientes: .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, 'ratios': ['?'], 'companies': [], } r = requests.post('https://dolphin.markets/api/ratios', json=payload) df = pd.DataFrame(r.json()) df['account'].tolist() * ebitda * ebitda_margin * net_debt * net_debt_to_ebitda * net_debt_to_equity * efficiency * nim * nim_margin * leverage * net_margin * roa * roe * net_financial_expenses * roic * ebitda_to_net_financial_expenses * inventory_turnover stocks ------ .. http:post:: https://dolphin.markets/api/stocks :noindex: Entrega una tabla con las transacciones de las acciones solicitadas. :form list: tickers (*required*) -- Nemotécnicos a consultar. :form list: values (*required*) -- Valores solicitados. Para obtener una lista de los nemotécnicos disponibles para el parámetro ``tickers``, puedes hacer utilizar el siguiente código: .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, "tickers": ["?"], 'values': [], } r = requests.post('https://dolphin.markets/api/stocks', json=payload) df = pd.DataFrame(r.json()) df['ticker'].tolist() Para obtener una lista de los valores a incluir en el parámetro ``values``, puedes hacer un llamado usando el siguiente código: .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, "tickers": ['test'], "values": ["?"] } r = requests.post('https://dolphin.markets/api/stocks', json=payload) df = pd.DataFrame(r.json()) df['0'].tolist() Correspondientes a los siguientes valores: * cantidad * lib_ajust * pre_med * pre_men * rel_bol_lib * rel_pre_uti * value * factor * ex_dvd_price * shares_outstanding * shares_outstanding_all_series * dvd_yield * montostransados * pat_bur_usd * eps_trailing * num_neg * p_igpa * p_ipsa * pat_bur * pre_aper * close * pre_may **Ejemplo de solicitud** .. code-block:: python import pandas as pd import requests payload = { "key": API_KEY, 'tickers': ['CMPC', 'COPEC'], 'values': ['close'], 'start': '2018-01-01', } r = requests.post('https://dolphin.markets/api/stocks', json=payload) df = pd.DataFrame(r.json())