# Obtener Token de Acceso
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/auth-token
POST /api/v1/auth/token
Obtener un token de acceso usando credenciales de cliente para la autenticación de la API
Este endpoint se utiliza para obtener un token de acceso usando credenciales de cliente para la autenticación de la API.
## Cuerpo de la Solicitud
El cuerpo de la solicitud debe contener los siguientes campos requeridos:
El tipo de concesión OAuth 2.0. Debe establecerse en `client_credentials`.
Tu identificador de cliente proporcionado por Docta.
Tu secreto de cliente proporcionado por Docta.
## Ejemplo de Solicitud
```bash theme={null}
curl -X POST https://api.doctacapital.com.ar/api/v1/auth/token/ \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"scope": "bonds:read cedears:read stocks:read"
}'
```
## Respuesta Exitosa
El token de acceso a ser usado para solicitudes posteriores de la API.
El tipo de token. Será `Bearer`.
El número de segundos hasta que el token expire.
El alcance de acceso otorgado por este token.
El plan asociado al token. Puede ser `basic`, `professional` o `enterprise`.
## Ejemplo de Respuesta Exitosa
```json theme={null}
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJwcm9kLWJhc3Rpb24tMDAxIiwiY2xpZW50X2lkIjoicHJvZC1iYXN0aW9uLTAwMSIsInNjb3BlcyI6WyJtYXJrZXRfZGF0YTpyZWFkIl0sInBsYW4iOiJlbnRlcnByaXNlIiwidG9rZW5fdHlwZSI6ImJlYXJlciIsImV4cCI6MTc1NzQ1Njg5OSwiaWF0IjoxNzU3NDUzMjk5fQ.zbvaoJLRwXFgW0aYG3DiZQM3p_4BZ3SNWj1mZEtN9wU",
"token_type": "bearer",
"expires_in": 3600,
"scope": "bonds:read cedears:read stocks:read",
"plan": "enterprise"
}
```
## Respuesta de Error
El identificador del tipo de error.
Una breve descripción del error.
El código de estado HTTP.
Una descripción detallada del error.
Un identificador único para rastrear esta solicitud de error.
## Ejemplo de Respuesta de Error
```json theme={null}
{
"type": "/errors/authentication-required",
"title": "Invalid client credentials",
"status": 401,
"detail": "Invalid client credentials",
"correlation_id": "2eb07802-94de-468a-b70f-75a49f3e9516"
}
```
# Calculadora
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-calculadora
POST /api/v1/analytics/bonds/pricer
Calcula TIR, TNA, TEM, TNA_30_360, VT, VR, Precio Dirty, Intereses Corridos, de un bono en función de un precio dirty objetivo, una fecha de concertación y un plazo de liquidación (CI, 24hs, 48hs)
Este endpoint calcula métricas de pricing y análisis de un bono específico basado en parámetros de precio objetivo.
## Cuerpo de la Solicitud
El símbolo del bono (ej., "AL30", "GD30").
El objetivo del cálculo. Debe ser `"price"` para calcular métricas basadas en un precio objetivo.
El precio objetivo del bono.
El tipo de liquidación. Puede ser `"24hs"` para liquidación en 24 horas, `"48hs"` para liquidación en 48 horas o `"C.I"` para contado inmediato.
La fecha de operación en formato YYYY-MM-DD (ej., "2025-11-16").
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X POST "https://api.doctacapital.com.ar/api/v1/analytics/bonds/pricer" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ticker": "AL30D",
"target": "price",
"value": 65,
"settlement_entry": "24hs",
"operation_date": "2025-11-19"
}'
```
## Respuesta Exitosa
Precio limpio del bono (sin intereses devengados).
Precio sucio del bono (incluyendo intereses devengados).
Valor residual del bono.
Valor técnico del bono.
Interés devengado.
Días hasta el vencimiento del bono.
Fecha de liquidación en formato YYYY-MM-DD.
Paridad del bono.
Tasa Interna de Retorno (TIR) del bono.
Tasa Efectiva Anual (TEA) del bono.
Tasa Efectiva Mensual (TEM) del bono.
Tasa Nominal Anual (TNA) del bono.
Tasa Nominal Anual calculada con base 30/360.
Margen del bono.
Duración del bono.
Promedio de la tasa BADLAR de los últimos 5 días.
Variación de precio.
Precio sucio implícito. Se devuelve **en lugar de** `clean_price`, `dirty_price` y `tir`
cuando se consulta con `target: "tir"`.
Valor del índice CER a la fecha de liquidación. Solo en bonos ajustados por CER.
Valor del índice CER a la fecha de emisión. Solo en bonos ajustados por CER.
Valor UVA a la fecha de liquidación. Solo en bonos ajustados por UVA.
Valor UVA a la fecha de emisión. Solo en bonos ajustados por UVA.
Tipo de cambio oficial aplicado. Solo en bonos dollar-linked.
Dólar MEP aplicado. Solo en bonos en dólares.
La forma de la respuesta depende de `target`: con `target: "price"` se devuelven
`clean_price`, `dirty_price` y `tir`; con `target: "tir"` se devuelve `market_price` en su
lugar. Los campos `margen` y `badlar_last5` solo aparecen en bonos de tasa variable
(BADLAR/TAMAR), y los campos CER, UVA, `tc_oficial` y `dolar_mep` solo cuando aplica el
ajuste correspondiente al bono.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"clean_price": 80.98082191780821,
"dirty_price": 65,
"residual_value": 80,
"tv": 80.21534246575342,
"accured_interest": 0.2153424657534247,
"days_to_maturity": 1692,
"settlment_date": "2025-11-20",
"parity_price": 0.810318799396146,
"tir": 0.11069396742091445,
"tea": 0.11069396742091445,
"tem": 0.00878713349566751,
"tna": 0.13523337986308834,
"tna_30_360": 0.10544560194801011,
"duration": 2.1655192047684135,
"cer_settlment_date": null,
"cer_issue_date": null,
"tc_oficial": null,
"dolar_mep": null,
"margen": null,
"badlar_last5": null
}
```
## Respuestas de Error
### 400 Solicitud Incorrecta
Parámetros inválidos o faltantes en el cuerpo de la solicitud.
```json theme={null}
{
"type": "/errors/bad-request",
"title": "Bad request",
"status": 400,
"detail": "Invalid request parameters",
"correlation_id": "6cd1fd05-63e9-4863-832f-d873e58e9d67"
}
```
### 401 No Autorizado
Token de acceso inválido o faltante.
```json theme={null}
{
"type": "/errors/authentication-required",
"title": "Authorization header missing",
"status": 401,
"detail": "Authorization header missing",
"correlation_id": "d6e20e07-0580-4e2d-9480-00a68c1ae493"
}
```
### 404 No Encontrado
Ticker no encontrado.
```json theme={null}
{
"type": "/errors/not-found",
"title": "Resource not found",
"status": 404,
"detail": "Ticker not found"
}
```
### 500 Error Interno del Servidor
Error interno del servidor.
```json theme={null}
{
"type": "/errors/internal-server-error",
"title": "Internal server error",
"status": 500,
"detail": "Internal server error",
"correlation_id": "6cd1fd05-63e9-4863-832f-d873e58e9d67"
}
```
## Notas
* El campo `target` debe ser `"price"` para calcular métricas basadas en un precio objetivo
* El campo `value` representa el precio objetivo del bono
* La fecha de liquidación se calcula automáticamente basándose en `settlement_entry` y `operation_date`
* Todas las tasas están expresadas en formato decimal (ej., 0.573 = 57.3%)
# Flujo de Caja de Bonos
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-cashflow
GET /api/v1/bonds/analytics/{symbol}/cashflow
Obtener el flujo de caja de un bono específico, incluyendo todos los pagos de capital e intereses
Este endpoint obtiene el flujo de caja de un bono específico, incluyendo todos los pagos de capital e intereses.
## Parámetros de Ruta
El símbolo del bono (ej., "AL30", "GD30").
## Parámetros de Consulta
Unidades nominales para el cálculo. Esto determina el valor nominal de la posición del bono para la cual calcular el flujo de caja.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/analytics/AL30/cashflow?nominal_units=100" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
## Respuesta Exitosa
El símbolo del bono solicitado.
Serie de eventos de flujo de caja del bono.
Fecha de emisión del bono (YYYY-MM-DD).
Fecha de pago (YYYY-MM-DD).
Capital pagado en la fecha.
Tasa de interés del período (decimal).
Interés pagado en la fecha.
Capital remanente luego del pago.
Flujo total (capital + interés) en la fecha.
Interés ajustado en la fecha.
Capital ajustado en la fecha.
Metadatos de la respuesta.
Sub-clase de activo del bono.
Unidades nominales usadas para el cálculo.
Cantidad total de registros.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"ticker": "AL30",
"data": [
{
"issue_date": "2020-09-04",
"payment_date": "2021-07-09",
"capital": 0.0,
"interest_rate": 0.13,
"interest_amount": 0.1101388888888889,
"residual_value": 100.0,
"cash_flow": 0.1101388888888889,
"adj_interest_amount": 0.1101388888888889,
"adj_capital": 0.0
},
{
"issue_date": "2020-09-04",
"payment_date": "2025-01-09",
"capital": 8.0,
"interest_rate": 0.75,
"interest_amount": 0.375,
"residual_value": 88.0,
"cash_flow": 8.36,
"adj_interest_amount": 0.36,
"adj_capital": 8.0
}
],
"metadata": {
"subasset_class": "HARD_DOLLAR",
"nominal_units": 100.0,
"total_records": 19
}
}
```
## Respuestas de Error
### 500 Error Interno del Servidor
Error interno del servidor.
```json theme={null}
{
"type": "/errors/internal-server-error",
"title": "Internal server error",
"status": 500,
"detail": "Internal server error",
"correlation_id": "6cd1fd05-63e9-4863-832f-d873e58e9d67"
}
```
### 401 No Autorizado
Token de acceso inválido o faltante.
```json theme={null}
{
"type": "/errors/authentication-required",
"title": "Authorization header missing",
"status": 401,
"detail": "Authorization header missing",
"correlation_id": "d6e20e07-0580-4e2d-9480-00a68c1ae493"
}
```
### 404 No Encontrado
Ticker no encontrado.
```json theme={null}
{
"type": "/errors/not-found",
"title": "Resource not found",
"status": 404,
"detail": "Ticker not found"
}
```
## Notas
* Los datos de flujo de caja incluyen todos los pagos hasta el vencimiento del bono
* Los montos se calculan basándose en `metadata.nominal_units`
# Valor Residual Histórico
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-cashflow-residual-value
GET /api/v1/bonds/analytics/{symbol}/cashflows/residual-value
Obtener la serie histórica de valor residual de un bono específico, filtrada por rango de fechas y plazo de liquidación
Este endpoint obtiene la serie histórica de valor residual de un bono específico, filtrada por rango de fechas y plazo de liquidación.
## Parámetros de Ruta
El símbolo del bono (ej., "AL30", "GD30").
## Parámetros de Consulta
Fecha de inicio del rango en formato YYYY-MM-DD.
Fecha de fin del rango en formato YYYY-MM-DD.
Plazo de liquidación. Valores posibles: `CI` (contado inmediato), `24hs` (24 horas), `48hs` (48 horas), `72hs` (72 horas).
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/analytics/AL30/cashflows/residual-value?from_date=2025-01-01&to_date=2025-01-10&settlement_entry=24hs" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
## Respuesta Exitosa
La respuesta es un array de objetos con los valores residuales para cada día hábil del rango solicitado.
Fecha de operación en formato YYYY-MM-DD.
Plazo de liquidación utilizado (ej., "24hs").
Fecha de liquidación correspondiente en formato YYYY-MM-DD.
Valor residual del bono en la fecha de liquidación.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
[
{
"operation_date": "2025-01-02",
"settlement_entry": "24hs",
"settlement_date": "2025-01-03",
"residual_value": 96.0
},
{
"operation_date": "2025-01-03",
"settlement_entry": "24hs",
"settlement_date": "2025-01-06",
"residual_value": 96.0
},
{
"operation_date": "2025-01-06",
"settlement_entry": "24hs",
"settlement_date": "2025-01-07",
"residual_value": 96.0
},
{
"operation_date": "2025-01-07",
"settlement_entry": "24hs",
"settlement_date": "2025-01-08",
"residual_value": 96.0
},
{
"operation_date": "2025-01-08",
"settlement_entry": "24hs",
"settlement_date": "2025-01-09",
"residual_value": 96.0
},
{
"operation_date": "2025-01-09",
"settlement_entry": "24hs",
"settlement_date": "2025-01-10",
"residual_value": 88.0
},
{
"operation_date": "2025-01-10",
"settlement_entry": "24hs",
"settlement_date": "2025-01-13",
"residual_value": 88.0
}
]
```
## Respuestas de Error
### 500 Error Interno del Servidor
Error interno del servidor.
```json theme={null}
{
"type": "/errors/internal-server-error",
"title": "Internal server error",
"status": 500,
"detail": "Internal server error",
"correlation_id": "6cd1fd05-63e9-4863-832f-d873e58e9d67"
}
```
### 401 No Autorizado
Token de acceso inválido o faltante.
```json theme={null}
{
"type": "/errors/authentication-required",
"title": "Authorization header missing",
"status": 401,
"detail": "Authorization header missing",
"correlation_id": "d6e20e07-0580-4e2d-9480-00a68c1ae493"
}
```
### 404 No Encontrado
Ticker no encontrado.
```json theme={null}
{
"type": "/errors/not-found",
"title": "Resource not found",
"status": 404,
"detail": "Ticker not found"
}
```
## Notas
* Los datos están disponibles solo para días hábiles (excluyendo fines de semana y feriados)
* El valor residual refleja el capital remanente del bono luego de cada amortización
* La fecha de liquidación (`settlement_date`) se calcula automáticamente según el plazo de liquidación y el calendario de días hábiles
# Comparar bonos
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-compare
GET /api/v1/bonds/compare
Comparar métricas de rendimiento intradiario de 2 a 20 bonos en una sola solicitud: TIR, TNA, TNA 30/360, TEM, duration, DTM y margen (solo bonos TAMAR/BADLAR) por bono. Los tickers no encontrados se informan por ticker en errors sin fallar la comparación.
Compará las métricas de rendimiento intradiario de 2 a 20 bonos en una sola solicitud: una fila por bono con TIR, TNA, TEM, duration y días al vencimiento. Requiere el scope `bonds:read`.
## Parámetros de consulta
Tickers de los bonos a comparar (2 a 20). Repetí el parámetro: `?tickers=AL30&tickers=GD30`.
Los tickers que no existen se informan por ticker en `errors` sin hacer fallar la comparación. Un bono sin datos de pricing en la rueda actual vuelve con `no_data: true` y métricas en null.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -G 'https://api.doctacapital.com.ar/api/v1/bonds/compare' \
--header 'Authorization: Bearer $DOCTA_TOKEN' \
--data-urlencode 'tickers=AL30' \
--data-urlencode 'tickers=GD30' \
--data-urlencode 'tickers=AL35'
```
## Respuesta Exitosa
Tickers solicitados, normalizados a mayúsculas.
Una fila por bono resuelto: `ticker`, `sub_asset_class`, `no_data` y las métricas intradiarias `tir`, `tna`, `tna_30_360`, `tem` (todas decimales, 0.0742 = 7,42%), `duration` (años), `dtm` (días al vencimiento) y `margen` (solo bonos TAMAR/BADLAR; null en el resto).
Tickers que no pudieron resolverse: `ticker` y `detail` con el motivo.
`total_records`: cantidad de filas devueltas.
## Ejemplo de Respuesta Exitosa
```json 200 theme={null}
{
"tickers_requested": ["AL30", "GD30", "AL35"],
"rows": [
{
"ticker": "AL30",
"sub_asset_class": "HARD_DOLLAR",
"no_data": false,
"tir": 0.0742,
"tna": 0.0826,
"tna_30_360": 0.0718,
"tem": 0.006,
"duration": 2.09,
"dtm": 1436,
"margen": null
},
{
"ticker": "GD30",
"sub_asset_class": "HARD_DOLLAR",
"no_data": false,
"tir": 0.0591,
"tna": 0.0644,
"tna_30_360": 0.0576,
"tem": 0.0048,
"duration": 2.1,
"dtm": 1436,
"margen": null
}
],
"errors": [],
"metadata": { "total_records": 2 }
}
```
# Instrumentos
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-instruments
GET /api/v1/bonds/instruments
Listar instrumentos de bonos
Lista instrumentos de bonos con soporte de paginación y filtrado opcional por subclase de activo.
## Parámetros de consulta
Filtra por subclase de activo (ej., "HARD\_DOLLAR").
Valores válidos para sub\_asset\_class:
* DOLLAR\_LINKED
* HARD\_DOLLAR
* CER
* BOPREAL
* FIXED\_RATE
* SUB\_SOBERANO
* ON
* TAMAR
* BADLAR
* ON\_FIXED\_RATE
* ON\_CER
* ON\_BADLAR
* ON\_TAMAR
* ON\_DOLLAR\_LINKED
* SUB\_SOBERANO\_FIXED\_RATE
* SUB\_SOBERANO\_CER
* SUB\_SOBERANO\_BADLAR
* SUB\_SOBERANO\_TAMAR
Límite de elementos por página (predeterminado 50).
Cursor de paginación para obtener la siguiente página.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/instruments?limit=50" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
## Respuesta Exitosa
Lista de instrumentos de bonos.
Ticker del bono (ej., "S30N6").
Clase de activo del bono (ej., "BOND").
Subclase de activo del bono (ej., "FIXED\_RATE").
Información de paginación.
Límite de elementos por página.
Indica si hay más páginas disponibles.
Cursor para obtener la siguiente página. Es null si no hay más páginas.
Número total de elementos disponibles.
Filtros aplicados en la solicitud.
Subclase de activo utilizada como filtro.
Metadatos de la respuesta.
Número total de registros disponibles.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"data": [
{
"ticker": "S30N6",
"asset_class": "BOND",
"sub_asset_class": "FIXED_RATE"
},
{
"ticker": "S16E6",
"asset_class": "BOND",
"sub_asset_class": "FIXED_RATE"
},
{
"ticker": "S30O6",
"asset_class": "BOND",
"sub_asset_class": "FIXED_RATE"
}
],
"pagination": {
"limit": 50,
"has_next": false,
"next_cursor": null,
"total_items": 20
},
"filters": {
"sub_asset_class": "FIXED_RATE"
},
"metadata": {
"total_records": 20
}
}
```
# Detalle de instrumento
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-instruments-detail
GET /api/v1/bonds/instruments/{symbol}
Obtener detalle de un instrumento de bono
Devuelve el detalle de un instrumento de bono.
## Parámetros de ruta
Símbolo del bono (ej., "AL30").
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/instruments/AL30/" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
## Respuesta Exitosa
Lista con el detalle del instrumento solicitado.
Ticker del bono (ej., "GD30").
Nombre completo del bono.
Clase de activo del bono (ej., "BOND").
Subclase de activo del bono (ej., "HARD\_DOLLAR").
Sector del bono. Puede ser null.
Emisor del bono. Puede ser null.
Ley aplicable al bono. Puede ser null.
Metadatos de la respuesta.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"data": [
{
"ticker": "GD30",
"name": "Soberano HD 2030 U$S 1.75% (GD30)",
"asset_class": "BOND",
"sub_asset_class": "HARD_DOLLAR",
"sector": null,
"issuer": null,
"law": null
}
],
"metadata": {
"total_records": 1
}
}
```
# Buscar instrumentos
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-instruments-search
GET /api/v1/bonds/instruments/search
Buscar instrumentos de bonos
Busca instrumentos de bonos por texto.
## Parámetros de consulta
Ticker del bono (ej., "AL30").
Límite de resultados (predeterminado 10).
Cursor de paginación.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/instruments/search?query=AL30&limit=10" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
## Respuesta Exitosa
Lista de instrumentos encontrados.
Ticker del bono (ej., "AL30").
Clase de activo del bono.
Subclase de activo del bono.
Consulta de búsqueda utilizada.
Información de paginación.
Cursor para obtener la siguiente página. Es null si no hay más páginas.
Indica si hay más páginas disponibles.
Metadatos de la respuesta.
Número total de registros encontrados.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"data": [
{
"ticker": "AL30",
"asset_class": "BONO AL30",
"sub_asset_class": "HARD_DOLLAR",
}
],
"pagination": {
"next_cursor": null,
"has_next": false
},
"metadata": {
"total_records": 1
}
}
```
# Yields históricos
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-yields-historical-curve
GET /api/v1/bonds/yields/{symbol}/historical
Obtener datos intradiarios históricos de rendimiento de un bono específico
Obtiene los datos históricos de rendimiento de un bono específico.
## Parámetros
Ticker del bono (ej., "AL30").
## Parámetros de Consulta
Fecha histórica específica en formato YYYY-MM-DD.
Fecha histórica específica en formato YYYY-MM-DD.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/yields/AL30/historical?from_date=2025-01-01&to_date=2025-01-02" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
## Respuesta Exitosa
Ticker del bono solicitado (ej., "AL30").
Serie histórica de rendimientos para el bono solicitado.
Fecha del dato en formato YYYY-MM-DD.
Tasa Interna de Retorno (TIR) expresada como decimal.
Tasa Nominal Anual (TNA) expresada como decimal.
Tasa Efectiva Anual (TEA) expresada como decimal.
Tasa Efectiva Mensual (TEM) expresada como decimal.
Fecha inicial del rango solicitado (YYYY-MM-DD).
Fecha final del rango solicitado (YYYY-MM-DD).
Metadatos de la respuesta.
Cantidad total de registros en el período solicitado.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"ticker": "AL30",
"data": [
{
"date": "2025-01-02",
"tir": 0.107148,
"tna": 0.136547,
"tea": 0.107148,
"tem": 0.008518
},
{
"date": "2025-01-03",
"tir": 0.106576,
"tna": 0.135581,
"tea": 0.106576,
"tem": 0.008475
}
],
"from_date": "2025-01-01",
"to_date": "2025-02-01",
"metadata": {
"total_records": 2
}
}
```
## Respuestas de Error
### 500 Error Interno del Servidor
Error interno del servidor.
```json theme={null}
{
"type": "/errors/internal-server-error",
"title": "Internal server error",
"status": 500,
"detail": "Internal server error",
"correlation_id": "6cd1fd05-63e9-4863-832f-d873e58e9d67"
}
```
### 401 No Autorizado
Token de acceso inválido o faltante.
```json theme={null}
{
"type": "/errors/authentication-required",
"title": "Authorization header missing",
"status": 401,
"detail": "Authorization header missing",
"correlation_id": "d6e20e07-0580-4e2d-9480-00a68c1ae493"
}
```
### 400 Solicitud Incorrecta
Parámetro subasset\_class inválido.
```json theme={null}
{
"type": "/errors/http-error",
"title": "subasset_class: Value error, Invalid subasset_class 'FIXED_RATES'. Supported values: BOPREAL, CER, DOLLAR_LINKED, FIXED_RATE, HARD_DOLLAR, ON, ON_BADLAR, ON_DOLLAR_LINKED, ON_TAMAR, SUB_SOBERANO, SUB_SOBERANO_BADLAR, SUB_SOBERANO_CER",
"status": 400,
"detail": "subasset_class: Value error, Invalid subasset_class 'FIXED_RATES'. Supported values: BOPREAL, CER, DOLLAR_LINKED, FIXED_RATE, HARD_DOLLAR, ON, ON_BADLAR, ON_DOLLAR_LINKED, ON_TAMAR, SUB_SOBERANO, SUB_SOBERANO_BADLAR, SUB_SOBERANO_CER"
}
```
### 400 Fecha Futura
Fecha histórica no puede ser en el futuro.
```json theme={null}
{
"type": "/errors/http-error",
"title": "date: Value error, Historical date must be in the past",
"status": 400,
"detail": "date: Value error, Historical date must be in the past"
}
```
### 404 No Encontrado
Símbolo/ticker no encontrado o no hay datos disponibles.
```json theme={null}
{
"type": "/errors/not-found",
"title": "Resource not found: /bonds/tir_curve/historical",
"status": 404,
"detail": "Resource not found: /bonds/tir_curve/historical",
"correlation_id": "438caef0-f014-4a80-874c-4d0261ff28a3"
}
```
## Notas
* Los datos están disponibles solo para días hábiles (excluyendo fines de semana y feriados)
* Las TIR (Tasas Internas de Retorno) se expresan como decimales (ej., 0.104657 = 10.4657%)
* La disponibilidad de datos históricos puede variar según la clase de subactivo y el rango de fechas
* Los datos incluyen instrumentos específicos con sus respectivos tickers y características financieras
# Yields intradiarios
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/bonds-yields-intraday
GET /api/v1/bonds/yields/{symbol}/intraday
Obtener datos intradiarios de rendimiento de un bono específico
Obtiene los datos yields intradiarios de un bono específico.
## Parámetros
Ticker del bono (ej., "AL30").
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/yields/AL30/intraday" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
## Respuesta Exitosa
Ticker del bono solicitado (ej., "AL30").
Serie de datos intradiarios de rendimiento.
Tasa Interna de Retorno (TIR) expresada como decimal.
Tasa Nominal Anual (TNA) expresada como decimal.
Tasa Nominal Anual calculada con base 30/360 expresada como decimal.
Tasa Efectiva Mensual (TEM) expresada como decimal.
Duración del bono en años.
Días hasta el vencimiento (Days to Maturity).
Margen del bono. Puede ser null.
Metadatos de la respuesta.
Número total de registros intradiarios disponibles.
Subclase de activo del bono (ej., "HARD\_DOLLAR").
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"ticker": "AL30",
"data": [
{
"tir": 0.09887070513854544,
"tna": 0.1177734104315629,
"tna_30_360": 0.09465437970685375,
"tem": 0.007887864975571146,
"duration": 2.107751399163522,
"dtm": 1663,
"margen": null
}
],
"metadata": {
"total_records": 1,
"sub_asset_class": "HARD_DOLLAR"
}
}
```
# Serie de benchmark
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-benchmark-series
GET /api/v1/fci/benchmarks/{name}/series
Serie de retorno acumulado de un benchmark. Los benchmarks de tasa (BADLAR, TAMAR) capitalizan diariamente sobre TNA/365; los de cotización (CER, MEP, CCL, A3500) usan variación simple.
Devuelve la serie de retorno acumulado de un benchmark sobre un rango. Los benchmarks de tasa (BADLAR, TAMAR) capitalizan diariamente sobre TNA/365; los de cotización (CER, MEP, CCL, A3500) usan la variación simple de precio. Requiere el scope `fci:read`.
## Parámetros de ruta
Nombre del benchmark (ej., "CER", "BADLAR", "MEP"). Consultá los disponibles en `GET /api/v1/fci/benchmarks`.
## Parámetros de consulta
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Ejemplos: `1 week`, `1 month`, `3 months`, `ytd`, `1 year`, `max` (también se aceptan los alias cortos `1W`, `1M`, `3M`, `YTD`, `1Y`).
Fecha de inicio en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fecha de fin en formato YYYY-MM-DD. Predeterminado: hoy. Mutuamente excluyente con `interval`.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/benchmarks/CER/series?interval=1%20week" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Nombre del benchmark.
Tipo de benchmark: `rate` o `quote`.
Fuente de los datos.
Unidad de la tasa para benchmarks de tipo `rate`. Es null en los de tipo `quote`.
Rango solicitado, con `from` y `to`.
Rango efectivo con datos disponibles, con `from` y `to`.
Puntos diarios de la serie.
Fecha del punto (YYYY-MM-DD).
Cotización del benchmark en la fecha. Presente solo en benchmarks de tipo `quote`; en los de tipo `rate` el punto trae el campo `rate` (la tasa, en la unidad de `rate_unit`) en lugar de `quote`.
Retorno acumulado desde el inicio del rango, en decimal.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"name": "CER",
"type": "quote",
"source": "BCRA",
"rate_unit": null,
"requested_range": {
"from": "2026-07-26",
"to": "2026-08-02"
},
"effective_range": {
"from": "2026-07-27",
"to": "2026-08-02"
},
"series": [
{
"date": "2026-07-27",
"quote": 813.45653848551,
"cumulative_return": 0.0
},
{
"date": "2026-07-28",
"quote": 813.95058132289,
"cumulative_return": 0.0006073377175133121
},
{
"date": "2026-07-29",
"quote": 814.44492421112,
"cumulative_return": 0.0012150442941305517
}
]
}
```
# Benchmarks de FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-benchmarks
GET /api/v1/fci/benchmarks
Catálogo de benchmarks disponibles para comparaciones: BADLAR, TAMAR, CER, A3500, MEP, CCL y OFICIAL_MINORISTA, con su tipo (rate/quote) y fuente.
Lista los benchmarks disponibles para comparar contra fondos: BADLAR, TAMAR, CER, A3500, MEP, CCL y OFICIAL\_MINORISTA. Cada entrada informa su tipo (`rate` o `quote`), su fuente y la unidad de tasa cuando aplica. Requiere el scope `fci:read`.
Este endpoint no recibe parámetros.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/benchmarks" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Lista de benchmarks disponibles.
Nombre del benchmark (ej., "CER", "BADLAR").
Tipo de benchmark: `rate` (tasa) o `quote` (cotización).
Fuente de los datos (ej., "BCRA").
Unidad de la tasa para benchmarks de tipo `rate` (ej., "annual\_pct"). Ausente en los de tipo `quote`.
Cantidad total de benchmarks.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"benchmarks": [
{
"name": "BADLAR",
"type": "rate",
"source": "BCRA",
"rate_unit": "annual_pct"
},
{
"name": "CER",
"type": "quote",
"source": "BCRA"
},
{
"name": "MEP",
"type": "quote",
"source": "DB"
}
],
"total": 7
}
```
# Catálogo de FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-catalog
GET /api/v1/fci/catalog
Catálogo de facetas del universo FCI: los valores válidos de cada filtro categórico del screener (rent_type, class_type, fund_type, manager_name, depositary_name, region, horizon, native_currency). El matching de filtros es exacto.
Devuelve el catálogo de facetas del universo FCI: los valores válidos de cada filtro categórico del screener. Usá estos valores textualmente en `GET /api/v1/fci/instruments`, ya que el matching es exacto (ej., money market es `Mercado de Dinero`). Requiere el scope `fci:read`.
Este endpoint no recibe parámetros.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/catalog" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Fecha de referencia del catálogo (YYYY-MM-DD).
Cantidad total de fondos en el universo.
Valores válidos por filtro categórico. Cada clave es una lista de strings.
Tipos de renta / categorías (ej., "Mercado de Dinero", "Renta Fija").
Clases de cuotaparte (ej., "Mayorista", "Minorista").
Tipos de fondo ("Abierto", "Cerrado").
Sociedades gerentes.
Sociedades depositarias.
Regiones.
Horizontes de inversión.
Monedas nativas ("ARS", "USD").
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"reference_date": "2026-08-02",
"total_funds": 4570,
"facets": {
"rent_type": [
"ASG",
"Mercado de Dinero",
"Renta Fija"
],
"class_type": [
"General",
"Mayorista",
"Minorista"
],
"fund_type": [
"Abierto",
"Cerrado"
],
"manager_name": [
"Galicia Asset Management S.A.U.",
"Mercado Pago Asset Managemet S.A.",
"Supervielle Asset Management S.A."
],
"depositary_name": [
"Banco Industrial S.A.",
"Banco Supervielle S.A.",
"Banco de Galicia y Buenos Aires S.A."
],
"region": [
"Argentina",
"Global",
"Latinoamerica"
],
"horizon": [
"Corto Plazo",
"Largo Plazo",
"Mediano Plazo"
],
"native_currency": [
"ARS",
"USD"
]
}
}
```
# Comparar FCI (series)
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-compare-series
GET /api/v1/fci/compare/series
Series de retorno acumulado de hasta 10 fondos alineadas a la primera fecha común, con overlays opcionales de benchmarks. Devuelve 400 si algún fondo no tiene datos en el rango.
Series de retorno acumulado para hasta 10 fondos, alineadas a la primera fecha común, con benchmarks opcionales superpuestos. Las series de fondos comparten un calendario común; los benchmarks conservan sus propios días de negociación. Requiere el scope `fci:read`.
## Parámetros de consulta
Nombres exactos de los fondos a comparar. Se repite el parámetro por cada fondo (`?fund_names=A&fund_names=B`). Máximo 10 fondos.
Benchmarks a superponer. Se repite el parámetro por cada benchmark. Los benchmarks disponibles se obtienen con `GET /api/v1/fci/benchmarks`.
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Ejemplos: `1 week`, `1 month`, `3 months`, `ytd`, `1 year`, `max` (también acepta los alias cortos `1W`, `1M`, `3M`, `YTD`, `1Y`).
Inicio del rango en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fin del rango en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Moneda de salida para los fondos: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
El endpoint devuelve 400 si alguno de los fondos solicitados no tiene datos en el rango.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -G "https://api.doctacapital.com.ar/api/v1/fci/compare/series" \
-H "Authorization: Bearer $DOCTA_TOKEN" \
--data-urlencode "fund_names=Premier Abierto Pymes - Clase A" \
--data-urlencode "fund_names=Mercado Fondo - Clase A" \
--data-urlencode "benchmarks=CER" \
--data-urlencode "interval=1 week"
```
## Respuesta Exitosa
Rango solicitado, con `from` y `to` en formato YYYY-MM-DD (null si se usó `interval` sin fechas explícitas).
Rango efectivo con datos disponibles, con `from` y `to` en formato YYYY-MM-DD.
Moneda de salida aplicada a los fondos.
Tipo de cambio aplicado.
Cantidad de fondos incluidos.
Cantidad de benchmarks incluidos.
Una serie por fondo.
Nombre del fondo.
Moneda nativa del fondo.
Puntos de la serie: `date` (YYYY-MM-DD) y `cumulative_return` (retorno acumulado como decimal, 0.0 en la fecha ancla).
Una serie por benchmark, con `name`, `type` y sus propios puntos `date`/`cumulative_return`.
Metadatos de calidad: `common_dates_count` (fechas comunes entre fondos) y `anchor_date` (fecha ancla de la alineación).
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"requested_range": {
"from": null,
"to": null
},
"effective_range": {
"from": "2026-07-23",
"to": "2026-07-30"
},
"target_currency": "ARS",
"fx_kind": "mep",
"fund_count": 2,
"benchmark_count": 1,
"funds": [
{
"fund_name": "Premier Abierto Pymes - Clase A",
"native_currency": "ARS",
"series": [
{
"date": "2026-07-23",
"cumulative_return": 0.0
},
{
"date": "2026-07-24",
"cumulative_return": 0.001611773016768625
},
{
"date": "2026-07-27",
"cumulative_return": 0.008401386594302673
}
]
},
{
"fund_name": "Mercado Fondo - Clase A",
"native_currency": "ARS",
"series": [
{
"date": "2026-07-23",
"cumulative_return": 0.0
},
{
"date": "2026-07-24",
"cumulative_return": 0.0004792094833239169
},
{
"date": "2026-07-27",
"cumulative_return": 0.0019162360121554034
}
]
}
],
"benchmarks": [
{
"name": "CER",
"type": "quote",
"series": [
{
"date": "2026-07-27",
"cumulative_return": 0.0
},
{
"date": "2026-07-28",
"cumulative_return": 0.0006073377175133121
},
{
"date": "2026-07-29",
"cumulative_return": 0.0012150442941305517
}
]
}
],
"data_quality": {
"common_dates_count": 6,
"anchor_date": "2026-07-23"
}
}
```
# Comparar FCI (tabla)
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-compare-table
GET /api/v1/fci/compare/table
Tabla comparativa de hasta 30 fondos: AUM al cierre del rango, retornos preestablecidos (1D/1W/1M/YTD/1Y como decimales), retorno del rango y TNA proporcional.
Compara hasta 30 fondos lado a lado: AUM al cierre del rango, retornos preestablecidos (1D/1W/1M/YTD/1Y como decimales), retorno del rango y TNA proporcional. Requiere el scope `fci:read`.
## Parámetros de consulta
Nombres exactos de los fondos a comparar. Se repite el parámetro por cada fondo (`?fund_names=A&fund_names=B`). Máximo 30 fondos.
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Ejemplos: `1 week`, `1 month`, `3 months`, `ytd`, `1 year`, `max` (también acepta los alias cortos `1W`, `1M`, `3M`, `YTD`, `1Y`).
Inicio del rango en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fin del rango en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Moneda de salida: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -G "https://api.doctacapital.com.ar/api/v1/fci/compare/table" \
-H "Authorization: Bearer $DOCTA_TOKEN" \
--data-urlencode "fund_names=Premier Abierto Pymes - Clase A" \
--data-urlencode "fund_names=Mercado Fondo - Clase A" \
--data-urlencode "date_from=2026-06-30" \
--data-urlencode "date_to=2026-07-30"
```
## Respuesta Exitosa
Rango solicitado, con `from` y `to` en formato YYYY-MM-DD (null si se usó `interval` sin fechas explícitas).
Rango efectivo con datos disponibles, con `from` y `to` en formato YYYY-MM-DD.
Moneda de salida aplicada.
Tipo de cambio aplicado.
Cantidad de fondos comparados.
Una fila por fondo comparado.
Nombre del fondo.
Moneda nativa del fondo.
AUM al cierre del rango, expresado en `target_currency`.
Retornos preestablecidos `1D`, `1W`, `1M`, `YTD` y `1Y`, expresados como decimales (ej., 0.0165 = 1.65%).
Retorno acumulado sobre el rango solicitado, expresado como decimal.
TNA proporcional sobre el rango solicitado, expresada como decimal.
Indica si el fondo estuvo inactivo dentro del rango.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"requested_range": {
"from": "2026-06-30",
"to": "2026-07-30"
},
"effective_range": {
"from": "2026-06-30",
"to": "2026-07-30"
},
"target_currency": "ARS",
"fx_kind": "mep",
"fund_count": 2,
"rows": [
{
"fund_name": "Premier Abierto Pymes - Clase A",
"native_currency": "ARS",
"aum_at_end": 17918632369.3,
"performance": {
"1D": 0.0008049373324414688,
"1W": 0.007252803501992311,
"1M": 0.016567519671488284,
"YTD": 0.18136974439941578,
"1Y": 0.4372903452209189
},
"range_return": 0.016567519671488284,
"tna_range": 0.20157148933644078,
"fund_inactive_in_range": false
},
{
"fund_name": "Mercado Fondo - Clase A",
"native_currency": "ARS",
"aum_at_end": 7882693319912.59,
"performance": {
"1D": 0.0004767150468019121,
"1W": 0.003353703949822595,
"1M": 0.014343980399997402,
"YTD": 0.12882713824396963,
"1Y": 0.28174540134475756
},
"range_return": 0.014343980399997402,
"tna_range": 0.17451842819996838,
"fund_inactive_in_range": false
}
]
}
```
# Screener de FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-instruments
GET /api/v1/fci/instruments
Listar y filtrar el universo de FCI (screener): metadata, AUM y retornos preestablecidos (1D/1W/1M/YTD/1Y), con filtros por gestora, depositaria, categoría, región, horizonte, AUM y retornos. Paginado con limit/offset.
Lista el universo de fondos comunes de inversión con metadatos, AUM y retornos preestablecidos (1D/1W/1M/YTD/1Y), con filtros por gerente, depositaria, categoría, región, horizonte, rango de AUM y umbrales de retorno. Requiere el scope `fci:read`.
## Parámetros de consulta
Fecha de referencia en formato YYYY-MM-DD. Predeterminado: último cierre disponible.
Devuelve solo fondos cuya moneda nativa coincide. Valores: `ARS`, `USD`.
Moneda de salida para AUM y retornos. Valores: `ARS`, `USD`.
Tipo de cambio usado para la conversión de moneda.
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
Nombres exactos de fondos. Repetí el parámetro para incluir varios (ej., `fund_names=A&fund_names=B`).
Sociedad gerente (coincidencia exacta).
Sociedad depositaria (coincidencia exacta).
Tipo de renta / categoría del fondo (coincidencia exacta). Por ejemplo, money market es `Mercado de Dinero`.
Región (ej., "Argentina", "Latinoamerica").
Benchmark declarado del fondo.
Horizonte de inversión (ej., "Corto Plazo").
Bucket de duration.
Tipo de fondo: `Abierto` o `Cerrado`.
Clase de cuotaparte (ej., "Mayorista", "Minorista").
Los filtros categóricos (gerente, depositaria, rent\_type, region, horizon, fund\_type, class\_type, etc.) usan coincidencia exacta. Obtené los valores válidos de GET /api/v1/fci/catalog y usalos textualmente.
AUM mínimo, expresado en `target_currency`.
AUM máximo, expresado en `target_currency`.
Período al que aplican los filtros `min_return`/`max_return`. Valores: `1D`, `1W`, `1M`, `YTD`, `1Y`.
Retorno mínimo para `return_period`, en decimal (ej., 0.05 = 5%).
Retorno máximo para `return_period`, en decimal.
Excluye fondos marcados con retornos diarios atípicos (mayores al 20%).
Criterio de ordenamiento.
Valores válidos para order\_by:
* aum
* age\_days
* return\_1d
* return\_1w
* return\_1m
* return\_ytd
* return\_1y
Dirección del ordenamiento: `asc` o `desc`. Los valores nulos van siempre al final.
Máximo de resultados por página (1-500).
Desplazamiento de paginación.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/instruments?rent_type=Mercado%20de%20Dinero&order_by=aum&limit=2" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Fecha de referencia utilizada (YYYY-MM-DD).
Filtro de moneda nativa aplicado, si se especificó.
Moneda de salida de AUM y retornos.
Tipo de cambio usado para la conversión.
Filtros aplicados en la solicitud.
Ordenamiento aplicado, con `by` y `dir`.
Paginación aplicada, con `limit` y `offset`.
Cantidad total de fondos que cumplen los filtros.
Cantidad de fondos en esta página.
Lista de fondos de la página.
Nombre del fondo.
Sociedad gerente.
Sociedad depositaria.
Moneda nativa del fondo.
Tipo de renta / categoría.
Clase de cuotaparte.
Tipo de fondo (Abierto / Cerrado).
Región.
Horizonte de inversión.
Patrimonio administrado en `target_currency`.
Tipo de cambio aplicado en la conversión. Es null si no hubo conversión.
Antigüedad del fondo en días dentro de la ventana de datos.
Última fecha con cotización disponible.
Retornos preestablecidos por período (`1D`, `1W`, `1M`, `YTD`, `1Y`). Cada período incluye `return` (decimal), `missing_days_in_window` e `insufficient_history`.
Indica si el fondo tiene retornos diarios sospechados como atípicos.
Calidad de datos del universo: `funds_total`, `funds_with_real_data`, `funds_with_partial_data`, `funds_with_outliers`, `funds_excluded`, `funds_insufficient_history`, `fx_carried_forward_funds` y `reference_date`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"reference_date": "2026-08-02",
"native_currency_filter": null,
"target_currency": "ARS",
"fx_kind": "mep",
"filters_applied": {
"native_currency_filter": null
},
"ordering": {
"by": "aum",
"dir": "desc"
},
"pagination": {
"limit": 2,
"offset": 0
},
"total_matches": 4047,
"page_size": 2,
"funds": [
{
"fund_name": "Mercado Fondo - Clase A",
"manager_name": "Mercado Pago Asset Managemet S.A.",
"depositary_name": "Banco Industrial S.A.",
"native_currency": "ARS",
"rent_type": "Mercado de Dinero",
"class_type": "Minorista",
"fund_type": "Abierto",
"region": "Argentina",
"horizon": "Corto Plazo",
"aum": 7882693319912.59,
"fx_rate_applied": null,
"age_days": 574,
"last_quote_date": "2026-07-30",
"performance": {
"1D": {
"return": 0.0004767150468019121,
"missing_days_in_window": 0,
"insufficient_history": false
},
"1W": {
"return": 0.003353703949822595,
"missing_days_in_window": 0,
"insufficient_history": false
},
"YTD": {
"return": 0.12882713824396963,
"missing_days_in_window": 0,
"insufficient_history": false
}
},
"outlier_suspected": null
}
],
"data_quality": {
"funds_total": 4570,
"funds_with_real_data": 3478,
"funds_with_partial_data": 569,
"funds_with_outliers": 0,
"funds_excluded": 523,
"funds_insufficient_history": 569,
"fx_carried_forward_funds": 0,
"reference_date": "2026-08-02"
}
}
```
# Detalle de FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-instruments-detail
GET /api/v1/fci/instruments/{fund_name}
Detalle enriquecido de un fondo: metadata (gestora, depositaria, categoría), economics (fees, inversión mínima), composición de cartera (top holdings, HHI) y retornos preestablecidos. Si CAFCI no está disponible, la respuesta es parcial y cafci_unavailable=true.
Devuelve el detalle enriquecido de un fondo: metadatos (gerente, depositaria, categoría, horizonte), economics (comisiones, inversión mínima), composición de cartera (principales tenencias, HHI) y retornos preestablecidos (1D/1W/1M/3M/6M/YTD/1Y). Requiere el scope `fci:read`.
## Parámetros de ruta
Nombre del fondo. Va URL-encodeado, ya que los nombres contienen espacios (ej., `Premier%20Abierto%20Pymes%20-%20Clase%20A`).
## Parámetros de consulta
Conversión de moneda. Con `none` los valores quedan en la moneda nativa del fondo.
Valores válidos para fx:
* none
* mep
* ccl
* a3500
* oficial\_minorista
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/instruments/Premier%20Abierto%20Pymes%20-%20Clase%20A?fx=none" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Nombre del fondo.
Moneda nativa del fondo.
Conversión de moneda solicitada.
Moneda de salida de los valores.
Metadatos del fondo: `manager_name`, `depositary_name`, `class_type`, `fund_type`, `rent_type`, `region`, `benchmark`, `horizon` y `duration`.
Economics del fondo: `minimum_investment`, `management_fee`, `redemption_fee`, `subscription_fee`, `transfer_fee`, `custodian_fee` y `objective` (descripción del objetivo de inversión). Es null cuando CAFCI no está disponible.
Composición de cartera: `total_holdings`, `top_5` y `top_10` (listas de tenencias con `name` y `share` en porcentaje), `hhi` (índice de concentración Herfindahl-Hirschman) y `no_composition_data`. Es null cuando CAFCI no está disponible.
Retornos preestablecidos por período (`1D`, `1W`, `1M`, `3M`, `6M`, `YTD`, `1Y`). Cada período incluye `return` (decimal), `anchor_date`, `end_date` e `insufficient_history`.
Indica una respuesta parcial: cuando la fuente CAFCI no responde, este campo es `true` y `economics` y `composition` vuelven en null. El resto del detalle sigue disponible.
Calidad de los datos del fondo: `real_data_pct`, `last_real_data_date`, `gap_count`, `long_gaps_detected`, `interpolated_days`, `missing_days`, `aum_estimated_days`, `fx_carried_forward_days` y `total_days`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"fund_name": "Premier Abierto Pymes - Clase A",
"currency": "ARS",
"fx": "none",
"output_currency": "ARS",
"metadata": {
"manager_name": "Supervielle Asset Management S.A.",
"depositary_name": "Banco Supervielle S.A.",
"class_type": "Mayorista",
"fund_type": "Abierto",
"rent_type": "PyMes",
"region": "Argentina",
"benchmark": "Otro",
"horizon": "Mediano Plazo",
"duration": "No Aplicable"
},
"economics": {
"minimum_investment": 1.0,
"management_fee": 2.024,
"redemption_fee": null,
"subscription_fee": null,
"transfer_fee": 0.0,
"custodian_fee": 0.176,
"objective": "Es un fondo que invierte en activos de renta fija principalmente ChPD Ons y FF de emisores Pymes."
},
"composition": {
"total_holdings": 11,
"top_5": [
{
"name": "Resto de Activos",
"share": 52.4
},
{
"name": "Caucion Colocadora $ Merval",
"share": 15.4
},
{
"name": "Bono Dual TXMJ0",
"share": 8.2
}
],
"hhi": 3114.97,
"no_composition_data": false
},
"performance": {
"1D": {
"return": 0.0008049373324414688,
"anchor_date": "2026-07-29",
"end_date": "2026-07-30",
"insufficient_history": false
},
"1M": {
"return": 0.016567519671488284,
"anchor_date": "2026-06-30",
"end_date": "2026-07-30",
"insufficient_history": false
},
"1Y": {
"return": 0.4372903452209189,
"anchor_date": "2025-07-30",
"end_date": "2026-07-30",
"insufficient_history": false
}
},
"cafci_unavailable": false,
"data_quality": {
"real_data_pct": 0.983333,
"last_real_data_date": "2026-07-30",
"gap_count": 0,
"long_gaps_detected": [],
"interpolated_days": 1,
"missing_days": 0,
"aum_estimated_days": 1,
"fx_carried_forward_days": 0,
"total_days": 60
}
}
```
# Buscar FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-instruments-search
GET /api/v1/fci/instruments/search
Buscar fondos por campo elegido con matching insensible a mayúsculas y acentos (exact > prefix > contains > fuzzy).
Busca fondos por texto sobre un campo elegido, con matching insensible a mayúsculas y acentos y puntaje por tipo de coincidencia (exacta > prefijo > prefijo de token > contiene > fuzzy). Requiere el scope `fci:read`.
## Parámetros de consulta
Texto de búsqueda (insensible a mayúsculas y acentos).
Campo contra el que se busca.
Valores válidos para field:
* fund\_name
* manager\_name
* depositary\_name
* rent\_type
* horizon
Máximo de resultados por página (1-100).
Desplazamiento de paginación.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/instruments/search?query=premier&field=fund_name&limit=3" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Texto de búsqueda utilizado.
Campo contra el que se buscó.
Cantidad total de coincidencias.
Límite aplicado.
Desplazamiento aplicado.
Indica si la búsqueda no arrojó resultados.
Lista de fondos encontrados, ordenados por puntaje.
Nombre del fondo.
Sociedad gerente.
Sociedad depositaria.
Moneda del fondo.
Tipo de renta / categoría.
Clase de cuotaparte.
Tipo de fondo (Abierto / Cerrado).
Horizonte de inversión.
Valor del campo que produjo la coincidencia.
Puntaje de la coincidencia (mayor es mejor).
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"query": "premier",
"field": "fund_name",
"total_matches": 74,
"limit": 3,
"offset": 0,
"no_matches": false,
"results": [
{
"fund_name": "Premier Abierto Pymes - Clase A",
"manager_name": "Supervielle Asset Management S.A.",
"depositary_name": "Banco Supervielle S.A.",
"currency": "ARS",
"rent_type": "PyMes",
"class_type": "Mayorista",
"fund_type": "Abierto",
"horizon": "Mediano Plazo",
"matched_value": "Premier Abierto Pymes - Clase A",
"score": 4
},
{
"fund_name": "Premier Abierto Pymes - Clase B",
"manager_name": "Supervielle Asset Management S.A.",
"depositary_name": "Banco Supervielle S.A.",
"currency": "ARS",
"rent_type": "PyMes",
"class_type": "Minorista",
"fund_type": "Abierto",
"horizon": "Mediano Plazo",
"matched_value": "Premier Abierto Pymes - Clase B",
"score": 4
},
{
"fund_name": "Premier Abierto Pymes - Clase C",
"manager_name": "Supervielle Asset Management S.A.",
"depositary_name": "Banco Supervielle S.A.",
"currency": "ARS",
"rent_type": "PyMes",
"class_type": "No Registrada",
"fund_type": "Abierto",
"horizon": "Mediano Plazo",
"matched_value": "Premier Abierto Pymes - Clase C",
"score": 4
}
]
}
```
# Distribución de AUM
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-market-aum-distribution
GET /api/v1/fci/market/aum-distribution
Distribución de AUM por categoría a una fecha de referencia: AUM, participación de mercado y cantidad de fondos por categoría.
Distribución del AUM de la industria por categoría a una fecha de referencia: AUM, participación sobre la industria y cantidad de fondos por categoría. Requiere el scope `fci:read`.
## Parámetros de consulta
Fecha de referencia en formato YYYY-MM-DD (predeterminado: último cierre).
Moneda de salida: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
Apertura de la distribución. Por ahora solo se admite `sub_category` (predeterminado).
Días sin cotización antes de que un fondo deje de contarse como vigente (predeterminado 5, rango 1-60).
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/market/aum-distribution?target_currency=ARS" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Fecha de referencia efectiva (YYYY-MM-DD).
Indica si la fecha de referencia quedó rezagada respecto de la fecha solicitada por falta de datos más recientes.
Moneda de salida aplicada.
Tipo de cambio aplicado.
Apertura aplicada (`sub_category`).
Ventana de vigencia aplicada.
AUM total de la industria, expresado en `target_currency`.
Una entrada por categoría.
Nombre de la categoría (ej., "Mercado de Dinero").
AUM de la categoría, expresado en `target_currency`.
Participación de la categoría sobre la industria, expresada como porcentaje (ej., 53.66 = 53.66%).
Cantidad de fondos en la categoría.
Metadatos de calidad: `funds_total`, `funds_with_real_data`, `fx_carried_forward` y `reference_date`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"reference_date": "2026-07-30",
"data_lag": true,
"target_currency": "ARS",
"fx_kind": "mep",
"breakdown": "sub_category",
"vigent_days_window": 5,
"total_aum": 105081584883560.0,
"categories": [
{
"category": "Mercado de Dinero",
"aum": 56385165799267.4,
"share_pct": 53.658465336002806,
"fund_count": 242
},
{
"category": "Renta Fija",
"aum": 27111005010171.2,
"share_pct": 25.79995823265577,
"fund_count": 992
},
{
"category": "Sin clasificar",
"aum": 8380970595105.71,
"share_pct": 7.975679662990038,
"fund_count": 357
}
],
"data_quality": {
"funds_total": 4672,
"funds_with_real_data": 2431,
"fx_carried_forward": false,
"reference_date": "2026-07-30"
}
}
```
# Flujos por categoría
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-market-flows-by-category
GET /api/v1/fci/market/flows-by-category
Flujos netos de suscripciones/rescates de una categoría en un rango. El parámetro category es obligatorio.
Flujo neto de suscripciones y rescates de una categoría sobre un rango de fechas, con cantidad de fondos e indicadores de datos parciales. Requiere el scope `fci:read`. Para la agregación de toda la industria, usar `GET /api/v1/fci/market/series` con `metric=net_flow`.
## Parámetros de consulta
Categoría a consultar. La comparación es exacta (ej., `Mercado de Dinero`).
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Ejemplos: `1 week`, `1 month`, `3 months`, `ytd`, `1 year`, `max` (también acepta los alias cortos `1W`, `1M`, `3M`, `YTD`, `1Y`).
Inicio del rango en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fin del rango en formato YYYY-MM-DD (predeterminado: último cierre). Mutuamente excluyente con `interval`.
Moneda de salida: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
Días sin cotización antes de que un fondo deje de contarse como vigente (predeterminado 5, rango 1-60).
Tratamiento de los fondos con retornos diarios atípicos (predeterminado `exclude_fund`).
Valores válidos para outlier\_handling:
* exclude\_fund: excluye el fondo completo del cálculo
* skip\_days: omite solo los días atípicos
* include: incluye todos los datos sin filtrar
Incluye un reporte de outliers en la respuesta (predeterminado `false`).
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -G "https://api.doctacapital.com.ar/api/v1/fci/market/flows-by-category" \
-H "Authorization: Bearer $DOCTA_TOKEN" \
--data-urlencode "category=Mercado de Dinero" \
--data-urlencode "interval=1 month"
```
## Respuesta Exitosa
Rango solicitado, con `from` y `to` en formato YYYY-MM-DD.
Rango efectivo con datos disponibles, con `from` y `to` en formato YYYY-MM-DD.
Moneda de salida aplicada.
Tipo de cambio aplicado.
Ventana de vigencia aplicada.
Apertura aplicada (`sub_category`).
Tratamiento de outliers aplicado.
Filtros aplicados en la solicitud, incluye `category`.
Indica si la categoría no tuvo coincidencias.
Flujo neto total en el rango. Es null cuando no puede calcularse de forma completa.
Una entrada por categoría coincidente.
Nombre de la categoría.
Flujo neto de la categoría en el rango, expresado en `target_currency`. Es null cuando no puede calcularse.
Cantidad de fondos en la categoría.
Cantidad de fondos con datos parciales dentro del rango.
Metadatos de calidad: `funds_total`, `funds_with_real_data`, `funds_with_partial_data`, `funds_excluded_by_outliers`, `fx_carried_forward_funds` y `reference_date`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"requested_range": {
"from": "2026-07-02",
"to": "2026-08-02"
},
"effective_range": {
"from": "2026-07-02",
"to": "2026-07-30"
},
"target_currency": "ARS",
"fx_kind": "mep",
"vigent_days_window": 5,
"breakdown": "sub_category",
"outlier_handling": "exclude_fund",
"filters_applied": {
"category": "Mercado de Dinero"
},
"no_matches": false,
"total_net_flow": null,
"categories": [
{
"category": "Mercado de Dinero",
"net_flow": null,
"fund_count": 242,
"funds_with_partial_data": 0
}
],
"data_quality": {
"funds_total": 4672,
"funds_with_real_data": 242,
"funds_with_partial_data": 0,
"funds_excluded_by_outliers": 0,
"fx_carried_forward_funds": 0,
"reference_date": "2026-07-30"
}
}
```
# KPIs de mercado FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-market-kpis
GET /api/v1/fci/market/kpis
KPIs de la industria a una fecha de referencia: fondos vigentes, AUM total, gestoras activas, tipo de cambio aplicado y última fecha de cierre.
KPIs de la industria de FCI a una fecha de referencia: fondos vigentes, AUM total en la moneda de salida, gestoras activas, tipo de cambio aplicado y último cierre. Requiere el scope `fci:read`.
## Parámetros de consulta
Fecha de referencia en formato YYYY-MM-DD (predeterminado: último cierre).
Moneda de salida: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
Días sin cotización antes de que un fondo deje de contarse como vigente (predeterminado 5, rango 1-60).
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/market/kpis?target_currency=ARS&fx_kind=mep" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Fecha de referencia efectiva (YYYY-MM-DD).
Indica si la fecha de referencia quedó rezagada respecto de la fecha solicitada por falta de datos más recientes.
Moneda de salida aplicada.
Tipo de cambio aplicado.
KPIs de la industria.
Cantidad de fondos vigentes a la fecha de referencia.
AUM total de la industria, expresado en `target_currency`.
Cantidad de gestoras activas.
Tipo de cambio aplicado a la conversión.
Fecha del último cierre disponible (YYYY-MM-DD).
Metadatos de calidad: `funds_total`, `funds_with_real_data`, `funds_excluded`, `fx_carried_forward`, `vigent_threshold_days` y `reference_date`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"reference_date": "2026-07-30",
"data_lag": true,
"target_currency": "ARS",
"fx_kind": "mep",
"kpis": {
"vigent_funds": 2431,
"total_aum": 105081584883560.12,
"active_managers": 57,
"fx_rate": 1508.42945874002,
"last_close_date": "2026-07-30"
},
"data_quality": {
"funds_total": 4672,
"funds_with_real_data": 4672,
"funds_excluded": 0,
"fx_carried_forward": false,
"vigent_threshold_days": 5,
"reference_date": "2026-07-30"
}
}
```
# Serie de mercado FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-market-series
GET /api/v1/fci/market/series
Serie temporal de la industria para una métrica (aum, funds_count o net_flow) con breakdown opcional (category o currency), granularidad diaria/semanal/mensual y filtros por categoría o gestora.
Serie temporal de la industria de FCI para una métrica (`aum`, `funds_count` o `net_flow`), con apertura opcional por categoría o moneda, granularidad diaria/semanal/mensual y filtros por categoría o gestora. Requiere el scope `fci:read`.
## Parámetros de consulta
Métrica a agregar.
Valores válidos para metric:
* aum: AUM total
* funds\_count: cantidad de fondos vigentes
* net\_flow: flujo neto de suscripciones y rescates
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Ejemplos: `1 week`, `1 month`, `3 months`, `ytd`, `1 year`, `max` (también acepta los alias cortos `1W`, `1M`, `3M`, `YTD`, `1Y`).
Inicio del rango en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fin del rango en formato YYYY-MM-DD (predeterminado: último cierre). Mutuamente excluyente con `interval`.
Apertura de la serie en buckets (predeterminado `none`).
Valores válidos para breakdown:
* none: serie única para toda la industria
* category: una serie por categoría
* currency: una serie por moneda
Moneda de salida: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
Días sin cotización antes de que un fondo deje de contarse como vigente (predeterminado 5, rango 1-60).
Tratamiento de los fondos con retornos diarios atípicos (predeterminado `exclude_fund`).
Valores válidos para outlier\_handling:
* exclude\_fund: excluye el fondo completo del cálculo
* skip\_days: omite solo los días atípicos
* include: incluye todos los datos sin filtrar
Incluye un reporte de outliers en la respuesta (predeterminado `false`).
Filtra la serie a una categoría.
Filtra la serie a una gestora.
Granularidad de muestreo (predeterminado `daily`).
Valores válidos para granularity:
* daily
* weekly
* monthly
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -G "https://api.doctacapital.com.ar/api/v1/fci/market/series" \
-H "Authorization: Bearer $DOCTA_TOKEN" \
--data-urlencode "metric=aum" \
--data-urlencode "interval=1 month" \
--data-urlencode "granularity=weekly"
```
## Respuesta Exitosa
Métrica agregada.
Apertura aplicada.
Granularidad aplicada.
Moneda de salida aplicada.
Tipo de cambio aplicado.
Ventana de vigencia aplicada.
Tratamiento de outliers aplicado.
Filtros aplicados en la solicitud (`category`, `manager`).
Rango solicitado, con `from` y `to` en formato YYYY-MM-DD.
Rango efectivo con datos disponibles, con `from` y `to` en formato YYYY-MM-DD.
Puntos de la serie. Con `breakdown=none` cada punto tiene `date` (YYYY-MM-DD) y `value` (en `target_currency` para `aum` y `net_flow`; entero para `funds_count`). Con apertura por categoría o moneda, los puntos se agrupan por bucket.
Metadatos de calidad: `funds_total`, `funds_total_universe`, `funds_with_real_data`, `funds_excluded_by_outliers` y `reference_date`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"metric": "aum",
"breakdown": "none",
"granularity": "weekly",
"target_currency": "ARS",
"fx_kind": "mep",
"vigent_days_window": 5,
"outlier_handling": "exclude_fund",
"filters_applied": {},
"requested_range": {
"from": "2026-07-02",
"to": "2026-08-02"
},
"effective_range": {
"from": "2026-07-03",
"to": "2026-07-30"
},
"series": [
{
"date": "2026-07-03",
"value": 106422408976946.19
},
{
"date": "2026-07-08",
"value": 106186067544387.39
},
{
"date": "2026-07-17",
"value": 104155695727697.48
}
],
"data_quality": {
"funds_total": 4672,
"funds_total_universe": 4672,
"funds_with_real_data": 2453,
"funds_excluded_by_outliers": 0,
"reference_date": "2026-07-30"
}
}
```
# Ranking de gestoras
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-market-top-managers
GET /api/v1/fci/market/top-managers
Ranking de gestoras por AUM a una fecha de referencia, con participación de mercado y cantidad de fondos por gestora.
Ranking de gestoras por AUM a una fecha de referencia, con participación sobre la industria y cantidad de fondos por gestora. Requiere el scope `fci:read`.
## Parámetros de consulta
Fecha de referencia en formato YYYY-MM-DD (predeterminado: último cierre).
Moneda de salida: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
Días sin cotización antes de que un fondo deje de contarse como vigente (predeterminado 5, rango 1-60).
Máximo de gestoras por página (predeterminado 20, rango 1-100).
Desplazamiento de paginación (predeterminado 0).
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/market/top-managers?top=20&offset=0" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Fecha de referencia efectiva (YYYY-MM-DD).
Indica si la fecha de referencia quedó rezagada respecto de la fecha solicitada por falta de datos más recientes.
Moneda de salida aplicada.
Tipo de cambio aplicado.
Ventana de vigencia aplicada.
AUM total de la industria, expresado en `target_currency`.
Cantidad total de gestoras en el ranking.
Cantidad de gestoras devueltas en esta página.
Desplazamiento aplicado.
Una entrada por gestora, ordenada por AUM.
Posición en el ranking.
Nombre de la gestora.
AUM de la gestora, expresado en `target_currency`.
Participación sobre la industria, expresada como porcentaje (ej., 14.9 = 14.9%).
Cantidad de fondos de la gestora.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"reference_date": "2026-07-30",
"data_lag": true,
"target_currency": "ARS",
"fx_kind": "mep",
"vigent_days_window": 5,
"industry_total_aum": 105081584883559.95,
"total_managers": 57,
"top_returned": 3,
"offset": 0,
"managers": [
{
"rank": 1,
"manager_name": "Galicia Asset Management S.A.U.",
"aum": 15653530692515.19,
"share_pct": 14.896549866335512,
"fund_count": 59
},
{
"rank": 2,
"manager_name": "Santander Rio Asset Management G.F.C.I.S.A.",
"aum": 12136881301326.12,
"share_pct": 11.549960266372937,
"fund_count": 85
},
{
"rank": 3,
"manager_name": "Sin gestora",
"aum": 8093521631387.21,
"share_pct": 7.702131291943851,
"fund_count": 351
}
]
}
```
# Gestoras por flujo
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-market-top-managers-by-flow
GET /api/v1/fci/market/top-managers-by-flow
Ranking de gestoras por flujo neto de suscripciones/rescates en un rango, con AUM y cantidad de fondos al cierre.
Ranking de gestoras por flujo neto de suscripciones y rescates sobre un rango de fechas, con AUM y cantidad de fondos al cierre del rango. Requiere el scope `fci:read`.
## Parámetros de consulta
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Ejemplos: `1 week`, `1 month`, `3 months`, `ytd`, `1 year`, `max` (también acepta los alias cortos `1W`, `1M`, `3M`, `YTD`, `1Y`).
Inicio del rango en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fin del rango en formato YYYY-MM-DD (predeterminado: último cierre). Mutuamente excluyente con `interval`.
Moneda de salida: `ARS` o `USD` (predeterminado `ARS`).
Tipo de cambio usado para la conversión de moneda (predeterminado `mep`).
Valores válidos para fx\_kind:
* mep
* ccl
* a3500
* oficial\_minorista
Días sin cotización antes de que un fondo deje de contarse como vigente (predeterminado 5, rango 1-60).
Máximo de gestoras por página (predeterminado 20, rango 1-100).
Desplazamiento de paginación (predeterminado 0).
Tratamiento de los fondos con retornos diarios atípicos (predeterminado `exclude_fund`).
Valores válidos para outlier\_handling:
* exclude\_fund: excluye el fondo completo del cálculo
* skip\_days: omite solo los días atípicos
* include: incluye todos los datos sin filtrar
Incluye un reporte de outliers en la respuesta (predeterminado `false`).
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -G "https://api.doctacapital.com.ar/api/v1/fci/market/top-managers-by-flow" \
-H "Authorization: Bearer $DOCTA_TOKEN" \
--data-urlencode "interval=1 month" \
--data-urlencode "top=20"
```
## Respuesta Exitosa
Rango solicitado, con `from` y `to` en formato YYYY-MM-DD.
Rango efectivo con datos disponibles, con `from` y `to` en formato YYYY-MM-DD.
Moneda de salida aplicada.
Tipo de cambio aplicado.
Ventana de vigencia aplicada.
Tratamiento de outliers aplicado.
Flujo neto total de la industria en el rango. Es null cuando no puede calcularse de forma completa.
Cantidad total de gestoras en el ranking.
Cantidad de gestoras devueltas en esta página.
Desplazamiento aplicado.
Una entrada por gestora, ordenada por flujo neto.
Posición en el ranking.
Nombre de la gestora.
Flujo neto de la gestora en el rango, expresado en `target_currency`. Es null cuando no puede calcularse.
Cantidad de fondos de la gestora al cierre del rango.
AUM de la gestora al cierre del rango, expresado en `target_currency`.
Indica si la gestora tiene datos parciales dentro del rango.
Metadatos de calidad: `funds_total`, `funds_with_real_data`, `funds_with_partial_data`, `funds_excluded_by_outliers`, `fx_carried_forward_funds` y `reference_date`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"requested_range": {
"from": "2026-07-02",
"to": "2026-08-02"
},
"effective_range": {
"from": "2026-07-02",
"to": "2026-07-30"
},
"target_currency": "ARS",
"fx_kind": "mep",
"vigent_days_window": 5,
"outlier_handling": "exclude_fund",
"industry_total_flow": null,
"total_managers": 57,
"top_returned": 3,
"offset": 0,
"managers": [
{
"rank": 1,
"manager_name": "Proahorro Administradora de Activos S.A.",
"net_flow": 21397882607.64,
"fund_count_at_end": 7,
"aum_at_end": 2014636421664.33,
"partial_period": false
},
{
"rank": 2,
"manager_name": "Sin gestora",
"net_flow": null,
"fund_count_at_end": 349,
"aum_at_end": 8093521431387.21,
"partial_period": true
},
{
"rank": 3,
"manager_name": "Pellegrini S.A.S.G.F.C.I.",
"net_flow": 662566036721.1,
"fund_count_at_end": 41,
"aum_at_end": 4416762701231.56,
"partial_period": false
}
],
"data_quality": {
"funds_total": 4672,
"funds_with_real_data": 2422,
"funds_with_partial_data": 0,
"funds_excluded_by_outliers": 6,
"fx_carried_forward_funds": 0,
"reference_date": "2026-07-30"
}
}
```
# Performance de FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-performance
GET /api/v1/fci/instruments/{fund_name}/performance
Performance descriptiva de un fondo en un rango: retorno acumulado, TNA proporcional, mejor/peor día, mejor/peor sub-período y conteo de días positivos/negativos.
Devuelve la performance descriptiva de un fondo sobre un rango: retorno acumulado, TNA proporcional, mejor y peor día, mejor y peor subperíodo móvil y conteo de días positivos y negativos. Requiere el scope `fci:read`.
## Parámetros de ruta
Nombre del fondo. Va URL-encodeado, ya que los nombres contienen espacios (ej., `Premier%20Abierto%20Pymes%20-%20Clase%20A`).
## Parámetros de consulta
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Valores permitidos: `1 week`, `1 month`, `3 months`, `6 months`, `ytd`, `1 year` (también se aceptan los alias cortos `1W`, `1M`, `3M`, `6M`, `YTD`, `1Y`). A diferencia de la serie, este endpoint no acepta `max`.
Fecha de inicio en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fecha de fin en formato YYYY-MM-DD. Predeterminado: última fecha disponible. Mutuamente excluyente con `interval`.
Conversión de moneda. Con `none` los valores quedan en la moneda nativa del fondo. Valores: `none`, `mep`, `ccl`, `a3500`, `oficial_minorista`.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/instruments/Premier%20Abierto%20Pymes%20-%20Clase%20A/performance?interval=1%20month" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Nombre del fondo.
Moneda nativa del fondo.
Conversión de moneda solicitada.
Moneda de salida de los valores.
Rango solicitado, con `from` y `to`.
Rango efectivo con datos disponibles, con `from` y `to`.
Indica si el fondo estuvo inactivo en el rango solicitado.
Métricas descriptivas del rango.
Retorno acumulado del rango, en decimal.
TNA proporcional del rango, en decimal.
Días calendario del rango.
Días hábiles del rango.
Mejor día del rango, con `date`, `return`, `previous_vcp` y `vcp`.
Peor día del rango, con `date`, `return`, `previous_vcp` y `vcp`.
Cantidad de días con retorno positivo.
Cantidad de días con retorno negativo.
Mejor subperíodo móvil, con `start`, `end`, `return`, `label`, `start_vcp` y `end_vcp`.
Peor subperíodo móvil, con `start`, `end`, `return`, `label`, `start_vcp` y `end_vcp`.
Longitud del subperíodo móvil (ej., "1 week").
Indica si el rango es demasiado corto para que las métricas sean significativas.
Calidad de los datos del rango: `real_data_pct`, `last_real_data_date`, `gap_count`, `long_gaps_detected`, `interpolated_days`, `missing_days`, `aum_estimated_days`, `fx_carried_forward_days` y `total_days`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"fund_name": "Premier Abierto Pymes - Clase A",
"currency": "ARS",
"fx": "none",
"output_currency": "ARS",
"requested_range": {
"from": "2026-06-30",
"to": "2026-07-30"
},
"effective_range": {
"from": "2026-06-30",
"to": "2026-07-30"
},
"fund_inactive_in_range": false,
"performance": {
"cumulative_return": 0.016567519671488284,
"tna": 0.20157148933644078,
"days_calendar": 30,
"days_business": 21,
"best_day": {
"date": "2026-07-23",
"return": 0.009322698105125982,
"previous_vcp": 127330.413,
"vcp": 128517.476
},
"worst_day": {
"date": "2026-07-16",
"return": -0.004386222108857418,
"previous_vcp": 127709.675,
"vcp": 127149.512
},
"positive_days": 12,
"negative_days": 6,
"best_subperiod": {
"start": "2026-07-22",
"end": "2026-07-29",
"return": 0.015825441483489078,
"label": "Semana del 22 Jul 2026",
"start_vcp": 127330.413,
"end_vcp": 129345.473
},
"worst_subperiod": {
"start": "2026-07-15",
"end": "2026-07-22",
"return": -0.002969720187605218,
"label": "Semana del 15 Jul 2026",
"start_vcp": 127709.675,
"end_vcp": 127330.413
},
"subperiod_interval": "1 week"
},
"range_too_short_for_meaningful_metrics": false,
"data_quality": {
"real_data_pct": 0.952381,
"last_real_data_date": "2026-07-30",
"gap_count": 0,
"long_gaps_detected": [],
"interpolated_days": 1,
"missing_days": 0,
"aum_estimated_days": 1,
"fx_carried_forward_days": 0,
"total_days": 21
}
}
```
# Serie de FCI
Source: https://docs.doctacapital.com.ar/api-reference/endpoint/fci-series
GET /api/v1/fci/instruments/{fund_name}/series
Serie diaria de un fondo: VCP, AUM, flujo neto, retorno diario y acumulado, con flags de calidad de datos por punto. Rango por interval o date_from/date_to (mutuamente excluyentes).
Devuelve la serie diaria de un fondo: VCP (valor de cuotaparte), AUM, flujo neto, retorno diario y acumulado, con flags de interpolación, outliers y calidad de datos por punto. Requiere el scope `fci:read`.
## Parámetros de ruta
Nombre del fondo. Va URL-encodeado, ya que los nombres contienen espacios (ej., `Premier%20Abierto%20Pymes%20-%20Clase%20A`).
## Parámetros de consulta
Intervalo de fechas, mutuamente excluyente con `date_from`/`date_to`. Ejemplos: `1 week`, `1 month`, `3 months`, `ytd`, `1 year`, `max` (también se aceptan los alias cortos `1W`, `1M`, `3M`, `YTD`, `1Y`).
Fecha de inicio en formato YYYY-MM-DD. Mutuamente excluyente con `interval`.
Fecha de fin en formato YYYY-MM-DD. Predeterminado: última fecha disponible. Mutuamente excluyente con `interval`.
Conversión de moneda. Con `none` los valores quedan en la moneda nativa del fondo. Valores: `none`, `mep`, `ccl`, `a3500`, `oficial_minorista`.
## Ejemplo de Solicitud
```bash cURL theme={null}
curl -X GET "https://api.doctacapital.com.ar/api/v1/fci/instruments/Premier%20Abierto%20Pymes%20-%20Clase%20A/series?interval=1%20week" \
-H "Authorization: Bearer $DOCTA_TOKEN"
```
## Respuesta Exitosa
Nombre del fondo.
Moneda nativa del fondo.
Conversión de moneda solicitada.
Moneda de salida de los valores.
Rango solicitado, con `from` y `to`.
Rango efectivo con datos disponibles, con `from` y `to`.
Indica si el fondo estuvo inactivo en el rango solicitado.
Puntos diarios de la serie.
Fecha del punto (YYYY-MM-DD).
Valor de cuotaparte.
Patrimonio administrado.
Flujo neto del día (suscripciones menos rescates). Es null cuando no se puede calcular.
Retorno diario en decimal. Es null en el primer punto de la serie.
Retorno acumulado desde el inicio del rango, en decimal.
Indica si el punto fue interpolado. `interpolation_method` detalla el método usado (null si no hubo interpolación).
Indica si faltan datos originales en la fecha.
Indica si el AUM del punto es estimado.
Indica si el retorno diario del punto se sospecha atípico.
Indica si el flujo del punto no está definido.
Calidad de los datos del rango: `real_data_pct`, `last_real_data_date`, `gap_count`, `long_gaps_detected`, `interpolated_days`, `missing_days`, `aum_estimated_days`, `fx_carried_forward_days` y `total_days`.
## Ejemplo de Respuesta Exitosa
```json Success theme={null}
{
"fund_name": "Premier Abierto Pymes - Clase A",
"currency": "ARS",
"fx": "none",
"output_currency": "ARS",
"requested_range": {
"from": "2026-07-23",
"to": "2026-07-30"
},
"effective_range": {
"from": "2026-07-23",
"to": "2026-07-30"
},
"fund_inactive_in_range": false,
"series": [
{
"date": "2026-07-23",
"vcp": 128517.476,
"aum": 17808478350.92,
"flow": null,
"daily_return": null,
"cumulative_return": 0.0,
"interpolated": false,
"interpolation_method": null,
"data_missing": false,
"aum_estimated": false,
"outlier_suspected": false,
"flow_undefined": true
},
{
"date": "2026-07-24",
"vcp": 128724.617,
"aum": 17837181587.2,
"flow": 11.404281616210938,
"daily_return": 0.001611773016768625,
"cumulative_return": 0.001611773016768625,
"interpolated": false,
"interpolation_method": null,
"data_missing": false,
"aum_estimated": false,
"outlier_suspected": false,
"flow_undefined": false
},
{
"date": "2026-07-27",
"vcp": 129597.201,
"aum": 17956094292.57,
"flow": -1999981.1139335632,
"daily_return": 0.006778687871333844,
"cumulative_return": 0.008401386594302673,
"interpolated": false,
"interpolation_method": null,
"data_missing": false,
"aum_estimated": false,
"outlier_suspected": false,
"flow_undefined": false
}
],
"data_quality": {
"real_data_pct": 1.0,
"last_real_data_date": "2026-07-30",
"gap_count": 0,
"long_gaps_detected": [],
"interpolated_days": 0,
"missing_days": 0,
"aum_estimated_days": 0,
"fx_carried_forward_days": 0,
"total_days": 6
}
}
```
# API de Docta
Source: https://docs.doctacapital.com.ar/api-reference/introduction
Documentación de la API de Docta: bonos (catálogo, cashflows, curvas de rendimiento) y FCI (screener, series, performance y analytics de industria).
## Bienvenido a la API de Docta
La API de Docta brinda datos especializados del mercado argentino. Bonos: catálogo de instrumentos, detalle enriquecido, flujos de fondos, yields intradiarios y curvas históricas. FCI: screener del universo de fondos, detalle con composición y fees, series diarias, performance, comparaciones y analytics de la industria (AUM, gestoras, flujos). La autenticación sigue el flujo de credenciales de cliente OAuth 2.0.
[https://api.doctacapital.com.ar](https://api.doctacapital.com.ar)
## Generar credenciales
1. **Generar Credenciales**: Generá tus credenciales en [Docta Terminal](https://app.doctacapital.com.ar) (`client_id` y `client_secret`).
2. **Obtener Token de Acceso**: Usá tu `client_id` y `client_secret` para obtener un token de acceso. [Ver endpoint](/api-reference/endpoint/auth-token).
## Autenticación
La API utiliza el flujo de credenciales de cliente OAuth 2.0. Necesitas obtener un token de acceso antes de consultar instrumentos, cashflows, curvas o datos de FCI.
El acceso por dominio se controla con scopes: `bonds:read` para los endpoints de bonos y `fci:read` para los de FCI. Si tu cliente no tiene el scope necesario, la API responde 403.
Envía una solicitud POST a `/api/v1/auth/token` con tus credenciales de cliente.
Incluye el token de acceso en el header Authorization: `Bearer {access_token}`.
Los tokens expiran. Solicita uno nuevo al vencer para mantener el acceso a los datos.
## Soporte
Para soporte técnico o preguntas sobre la API, por favor contacta a nuestro equipo de soporte.
# Servidor MCP
Source: https://docs.doctacapital.com.ar/servidor-mcp
Conectá Claude, ChatGPT o tu editor a los datos de mercado de Docta
Docta expone un servidor remoto [MCP (Model Context Protocol)](https://modelcontextprotocol.io) para que asistentes de IA consulten datos del mercado argentino — bonos (rendimientos, duration, flujos de fondos, paridad) y FCI (screener, series, performance, gestoras y flujos de industria) — directamente desde la conversación.
`https://mcp.docta.com.ar/mcp`
## Conectar con tu cuenta Docta (OAuth)
La forma recomendada: iniciás sesión con tu cuenta de Docta y autorizás el acceso. No hay claves para copiar.
* **Claude (claude.ai / Desktop):** Configuración → Conectores → *Agregar conector personalizado* → pegá `https://mcp.docta.com.ar/mcp`.
* **ChatGPT:** Settings → Connectors (modo desarrollador) → *Add connector* con la misma URL.
* **Claude Code:** `claude mcp add --transport http docta https://mcp.docta.com.ar/mcp`
* **Cursor:** agregá el servidor con transporte HTTP en la configuración de MCP.
Se abre `app.docta.com.ar`: iniciá sesión (o creá tu cuenta) y aceptá los permisos. Si nunca generaste credenciales de API, se crean automáticamente en el plan gratuito.
Preguntale a tu asistente, por ejemplo: *"¿Cómo está la curva CER hoy?"* o *"Analizá el AL30"*.
## Herramientas disponibles
El servidor expone 26 herramientas, una por cada endpoint documentado de la API.
### Bonos
| Herramienta | Endpoint | Qué hace |
| ------------------------- | ------------------------------------ | ---------------------------------------------------------------- |
| `search_instruments` | `/bonds/instruments/search` | Buscar bonos por texto libre y resolver el ticker exacto |
| `list_instruments` | `/bonds/instruments` | Listar el catálogo, opcionalmente filtrado por `sub_asset_class` |
| `get_instrument` | `/bonds/instruments/{symbol}` | Ficha del bono: nombre, sector, emisor, ley, ISIN |
| `get_intraday_yields` | `/bonds/yields/{symbol}/intraday` | TIR, TNA, TNA 30/360, TEM, duration, DTM y margen |
| `get_history` | `/bonds/yields/{symbol}/historical` | Serie diaria de TIR/TNA/TEA/TEM en un rango de fechas |
| `get_bond_cashflow` | `/bonds/analytics/{symbol}/cashflow` | Cronograma de pagos, con montos ajustados por CER/UVA |
| `get_bond_residual_value` | `.../cashflows/residual-value` | Serie diaria de valor residual por plazo de liquidación |
| `price_bond` | `/analytics/bonds/pricer` | Calculadora: de precio a TIR y viceversa |
| `compare_bonds` | `/bonds/compare` | Comparación de 2–20 bonos en una tabla, en una sola request |
| `get_my_usage` | — | Tu plan y cuota restante (no consume requests) |
### FCI
| Herramienta | Endpoint | Qué hace |
| ------------------------------ | ---------------------------------- | ------------------------------------------------------------------------- |
| `search_fci_funds` | `/fci/instruments/search` | Resolver un fondo por nombre, gestora o categoría |
| `list_fci_funds` | `/fci/instruments` | Screener del universo FCI: filtros por gestora, categoría, AUM y retornos |
| `get_fci_fund` | `/fci/instruments/{fund_name}` | Ficha del fondo: fees, composición, retornos preestablecidos |
| `get_fci_series` | `.../{fund_name}/series` | Serie diaria de VCP, AUM, flujo y retornos |
| `get_fci_performance` | `.../{fund_name}/performance` | Performance de un rango: retorno acumulado, TNA, mejor/peor día |
| `get_fci_catalog` | `/fci/catalog` | Valores válidos de cada filtro del screener |
| `list_fci_benchmarks` | `/fci/benchmarks` | Benchmarks disponibles (CER, BADLAR, MEP, …) |
| `get_fci_benchmark_series` | `/fci/benchmarks/{name}/series` | Serie de retorno acumulado de un benchmark |
| `compare_fci_funds` | `/fci/compare/table` | Comparación de hasta 30 fondos en una tabla |
| `compare_fci_series` | `/fci/compare/series` | Series de retorno acumulado de hasta 10 fondos + benchmarks |
| `get_fci_market_series` | `/fci/market/series` | Serie temporal de la industria (AUM, cantidad de fondos o flujo neto) |
| `get_fci_market_kpis` | `/fci/market/kpis` | KPIs de industria: fondos vigentes, AUM total, gestoras activas |
| `get_fci_aum_distribution` | `/fci/market/aum-distribution` | AUM de la industria por categoría |
| `get_fci_top_managers` | `/fci/market/top-managers` | Ranking de gestoras por AUM |
| `get_fci_top_managers_by_flow` | `/fci/market/top-managers-by-flow` | Ranking de gestoras por flujo neto |
| `get_fci_flows_by_category` | `/fci/market/flows-by-category` | Flujos netos de una categoría en un rango |
El alcance es **renta fija argentina y FCI**. La API no cubre acciones, CEDEARs ni futuros, y
en bonos no expone precios, OHLC ni volumen operado: donde dice "intradiario" se trata de
**rendimientos** intradiarios, no de cotizaciones. Los datos de FCI son de frecuencia diaria
(VCP/AUM al cierre) y los retornos son decimales (0.05 = 5%).
## Cuotas y caché
* Cada llamada a una herramienta consume requests de tu [plan de API](https://app.docta.com.ar/pricing#api), con una excepción importante: las respuestas se cachean del lado del servidor (catálogos \~1 h, datos intradiarios \~5 min) y **los hits de caché no consumen tu cuota**.
* Cada respuesta incluye `_quota` (requests restantes) y `_cached`. La herramienta `get_my_usage` muestra tu estado sin gastar requests.
* Los datos intradiarios tienen \~20 minutos de demora y las tasas son decimales (0.1046 = 10,46%).
## Alternativa: autenticación por headers
Para clientes CLI o entornos donde OAuth no aplica, podés enviar tus [credenciales de API](https://app.docta.com.ar/dashboard/account/api) como headers en cada request:
```json theme={null}
{
"mcpServers": {
"docta": {
"url": "https://mcp.docta.com.ar/mcp",
"headers": {
"X-Docta-Client-Id": "docta-api-...",
"X-Docta-Client-Secret": "tu-client-secret"
}
}
}
}
```
Rotar tu client secret no afecta las conexiones OAuth: solo invalida los headers.
Las conexiones OAuth se revocan desde tu cuenta.