curl --request GET \
--url https://api.despezzas.com/v1/investments/yield \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/investments/yield', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/investments/yield"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/investments/yield"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"available": true,
"by_type": [
{
"balance_cents": 3200000,
"label": "Renda fixa",
"yield_cents": 1500
}
],
"last_7_days": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "Últimos 7 dias",
"to_date": "2026-09-15",
"yield_cents": 13200,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"month_to_date": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "No mês",
"to_date": "2026-09-15",
"yield_cents": 27100,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"positions": [
{
"balance_cents": 1500000,
"bank_name": "Nubank",
"basis": "snapshot",
"investment_id": "inv_9f2a",
"label": "Renda fixa",
"name": "Tesouro Selic 2029",
"type": "FIXED_INCOME",
"yield_cents": 600,
"subtype": "TREASURY",
"yield_percent": 0.04
}
],
"previous": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "Ontem",
"to_date": "2026-09-15",
"yield_cents": 1875,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"reason": "",
"today": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "Hoje",
"to_date": "2026-09-15",
"yield_cents": 1940,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"estimated_ready_date": "2026-08-02",
"first_snapshot_date": "2026-08-01",
"latest_snapshot_date": "2026-09-15",
"snapshot_days": 46,
"total_balance_cents": 4850000
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}Rentabilidade
Rendimento diário das posições importadas pelo Open Finance, calculado a partir dos snapshots de saldo (sem consulta ao vivo).
Escopo necessário: read.
curl --request GET \
--url https://api.despezzas.com/v1/investments/yield \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/investments/yield', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/investments/yield"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/investments/yield"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"available": true,
"by_type": [
{
"balance_cents": 3200000,
"label": "Renda fixa",
"yield_cents": 1500
}
],
"last_7_days": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "Últimos 7 dias",
"to_date": "2026-09-15",
"yield_cents": 13200,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"month_to_date": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "No mês",
"to_date": "2026-09-15",
"yield_cents": 27100,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"positions": [
{
"balance_cents": 1500000,
"bank_name": "Nubank",
"basis": "snapshot",
"investment_id": "inv_9f2a",
"label": "Renda fixa",
"name": "Tesouro Selic 2029",
"type": "FIXED_INCOME",
"yield_cents": 600,
"subtype": "TREASURY",
"yield_percent": 0.04
}
],
"previous": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "Ontem",
"to_date": "2026-09-15",
"yield_cents": 1875,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"reason": "",
"today": {
"computable": true,
"coverage_percent": 100,
"from_date": "2026-09-14",
"interval_days": 1,
"label": "Hoje",
"to_date": "2026-09-15",
"yield_cents": 1940,
"items_missing": 0,
"positions_closed": 0,
"positions_computed": 6,
"positions_new": 0,
"positions_total": 6,
"positions_unknown": 0,
"yield_percent": 0.04
},
"estimated_ready_date": "2026-08-02",
"first_snapshot_date": "2026-08-01",
"latest_snapshot_date": "2026-09-15",
"snapshot_days": 46,
"total_balance_cents": 4850000
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}Authorizations
HTTP Basic com o token como usuário e o secret como senha: curl -u dpz_tk_…:dpz_sk_…. Crie a chave em https://despezzas.com/settings/api-keys.
Query Parameters
Data de referência (YYYY-MM-DD). Padrão: hoje.
"2026-09-01"
Máximo de posições listadas. Padrão: 20 (máx. 50).
10
Response
Sucesso.
Rendimento diário das posições importadas pelo Open Finance, a partir dos snapshots de saldo. Enquanto não há snapshots suficientes, available é false e reason explica.
Se o rendimento pôde ser calculado.
true
Rendimento por tipo de investimento.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Maiores posições (limite via limit).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Motivo quando available é false (vazio quando disponível).
""
Show child attributes
Show child attributes
Quando haverá dados suficientes (YYYY-MM-DD).
"2026-08-02"
Primeiro snapshot (YYYY-MM-DD).
"2026-08-01"
Último snapshot (YYYY-MM-DD).
"2026-09-15"
Dias com snapshot.
46
Patrimônio no último snapshot. Em centavos.
4850000