A API FXMacroData GraphQL está agora ativa. Junto com os endpoints REST existentes, todas as superfícies de dados de índice de séries temporais, consultas de catálogo de dados e consultas do calendário de lançamento estão agora disponíveis através de um único esquema GraphSQL digitado. Obtenha exatamente os campos necessários em uma ida e volta, compõe consultas multi-moeda em um único corpo de solicitação e explore o esquema completo de forma interativa através do GraphiQL IDE embutido.
O que há de novo?
O ponto final do GraphQL está montado em POST /api/v1/graphql e expõe três campos de consulta raiz que espelham a superfície REST de produção:
announcements
Obter dados históricos de indicadores macroeconómicos para qualquer moeda suportada e slug de indicador. date- Não . valE ...
announcement_datetime campos como ponto final REST, mais opcional
pct_change E ... pct_change_12m campos.
dataCatalogue
Lista todos os indicadores disponíveis para uma moeda, incluindo a espécie de indicador, o nome legível pelo homem, a unidade, a frequência de atualização e se existe uma previsão oficial do banco central.
calendar
Consultar os próximos carimbos de lançamento econômico para qualquer moeda suportada, com um filtro de indicador opcional. Retorna carimbOS de época Unix para que você possa agendar as buscas de dados de acompanhamento com precisão.
A autenticação usa a mesma chave API que a superfície REST passa-a como a api_key
O esquema é fortemente digitado: cada campo, argumento e objeto de retorno é documentado diretamente no esquema, de modo que a introspecção e a autocomplementação do IDE funcionam fora da caixa.
Por que é importante para comerciantes e desenvolvedores
Os endpoints REST são eficientes para buscas de um único indicador. O GraphQL se torna valioso no momento em que seu fluxo de trabalho abrange várias moedas, vários indicadores ou várias superfícies de dados em um único ciclo analítico.
Considere um modelo de spread de moeda cruzada que precisa de histórico de inflação e taxa de política para seis moedas do G10 simultaneamente. announcements Os dados são enviados para o cliente através de um sistema de ligação de campo, que utiliza aliases de campo e recebe a resposta combinada numa única viagem de ida e volta reduzindo a latência, reduzindo os custos de ligações e mantendo o código do cliente linear.
Selecção precisa de campos
Pergunte apenas os campos que o seu modelo usa.
date E ... val O servidor pula qualquer coisa que não esteja no seu conjunto de seleção.
Integração de um único ponto final
Uma URL base, um mecanismo de autenticação, um envelope de resposta. Ferramentas que já falam GraphQL Apollo Client, graphql-request, gql do Python, ghql do R integra sem qualquer camada de adaptador REST personalizada.
Exploração em primeiro plano
Disparar uma consulta de introspecção para enumerar todas as moedas disponíveis, indicadores e tipos de campos programaticamente sem necessidade de raspagem de documentação separada.
Contexto de objectivos do banco central
O ... announcements A consulta retorna uma opcional .
cbTarget Objeto ao lado da série de dados que lhe dá o intervalo de objectivo do banco central atual, data de entrada em vigor e fonte na mesma resposta.
Exemplo prático: consulta de inflação em várias moedas
Suponha que você está construindo um painel de inflação G3 e precisa dos últimos doze meses de dados do IPC para o USD, EUR e GBP em uma única tentativa.
announcements campo três vezes dentro de um único documento GraphQL:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "{ usd: announcements(currency: \"USD\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } eur: announcements(currency: \"EUR\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } gbp: announcements(currency: \"GBP\", indicator: \"inflation\", startDate: \"2025-04-01\") { currency indicator data { date val announcementDatetime } } }"
}'
Resposta representativa:
{
"data": {
"usd": {
"currency": "USD",
"indicator": "inflation",
"data": [
{ "date": "2026-03-01", "val": 2.8, "announcementDatetime": 1743253200 },
{ "date": "2026-02-01", "val": 3.0, "announcementDatetime": 1740747600 }
]
},
"eur": {
"currency": "EUR",
"indicator": "inflation",
"data": [
{ "date": "2026-03-01", "val": 2.3, "announcementDatetime": 1743340800 },
{ "date": "2026-02-01", "val": 2.4, "announcementDatetime": 1740834000 }
]
},
"gbp": {
"currency": "GBP",
"indicator": "inflation",
"data": [
{ "date": "2026-03-01", "val": 2.6, "announcementDatetime": 1743253200 },
{ "date": "2026-02-01", "val": 2.8, "announcementDatetime": 1740747600 }
]
}
}
}
Três moedas, um HTTP ida e volta. announcementDatetime A data de cada ponto de dados dá-lhe o segundo exato em que a impressão foi lançada, para que você possa alinhar a série no tempo do evento em vez de mês de calendário ao modelar as reações do mercado.
Ponto de partida da taxa de juro de política monetária em USD
e os seus equivalentes em EUR e GBP para adicionar a camada de diferencial de taxa.
Exemplo prático: Descubra os indicadores disponíveis
Antes de criar um novo modelo, pode consultar o catálogo de dados através do GraphQL para enumerar todos os indicadores disponíveis para uma moeda, incluindo a frequência de atualização e se uma previsão oficial do banco central acompanha a publicação:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "{ dataCatalogue(currency: \"AUD\") { currency indicators { slug name unit frequency hasOfficialForecast } } }"
}'
Resposta representativa (truncada):
{
"data": {
"dataCatalogue": {
"currency": "AUD",
"indicators": [
{
"slug": "policy_rate",
"name": "Cash Rate Target",
"unit": "%",
"frequency": "irregular",
"hasOfficialForecast": false
},
{
"slug": "inflation",
"name": "CPI Inflation",
"unit": "%",
"frequency": "quarterly",
"hasOfficialForecast": false
},
{
"slug": "unemployment",
"name": "Unemployment Rate",
"unit": "%",
"frequency": "monthly",
"hasOfficialForecast": false
}
]
}
}
}
As balas que voltaram foram direcionadas para o ... indicator Argumento do
announcements query não é necessário nenhum passe de documentação separado. Você pode escrever o passo de descoberta e automaticamente criar um lote de solicitação para quaisquer indicadores que seu modelo requer.
Documentação da API do AUD- Não .
Exemplo prático: Pesquisa de calendário de lançamento
Saber quando é a data prevista para a próxima impressão de grande impacto é fundamental para o dimensionamento da posição em torno do risco de evento. calendar consulta expõe os próximos carimbos de lançamento para qualquer moeda suportada, com um filtro de indicador opcional para restringir os resultados:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "{ calendar(currency: \"CAD\", indicator: \"policy_rate\") { currency indicator data { release announcementDatetime } } }"
}'
Resposta representativa:
{
"data": {
"calendar": {
"currency": "CAD",
"indicator": "policy_rate",
"data": [
{
"release": "policy_rate",
"announcementDatetime": 1747400400
},
{
"release": "policy_rate",
"announcementDatetime": 1752580800
}
]
}
}
}
O ... announcementDatetime valores são números inteiros da época Unix deixá-los cair diretamente em um agendador ou sistema de alerta sem qualquer passo de análise de data. calendar Como você faria alias announcements: elaborar uma consulta que abranja as datas das taxas de juro de política CAD, AUD e NZD e receber uma única resposta consolidada no calendário.
Taxa de referência de política CAD
para o equivalente REST.
GraphQL vs REST: Quando usar cada um
Ambas as interfaces tiram do mesmo armazenamento de dados apoiado pela Firestore e carregam dados idênticos.
announcement_datetime A escolha é uma decisão de fluxo de trabalho:
| Scenário | Interface recomendada |
|---|---|
| Indicador único, moeda única | REST URL simples, amigável para curvas |
| Multiplas moedas ou indicadores num único pedido | GraphQL aliasing de campo elimina viagens de ida e volta múltiplas |
| Cliente com tipos fortes (TypeScript, Kotlin, Swift) | GraphQL gerar tipos a partir de introspecção automaticamente |
| Notebook ou ambiente de script | REST ou GraphQL ambos são únicos curl Ou ... requests.get() chamadas |
| Exploração de esquemas / descoberta de catálogos | GraphQL introspecção retorna o esquema completo sem raspagem de documentos |
| O gasoduto existente baseado em REST | REST não é necessária migração; ambas as superfícies são mantidas em paralelo |
Comece
O ponto final GraphQL está disponível para todos os assinantes na mesma chave API usada para a superfície REST. Não é necessária configuração adicional.
Primeiros passos
- Execute a sua primeira consulta:
curl -X POST "https://fxmacrodata.com/api/v1/graphql?api_key=YOUR_API_KEY" -H "Content-Type: application/json" -d '{"query":"{ dataCatalogue(currency: \"USD\") { indicators { slug name } } }"}' - Explore o esquema ao vivo usando o Hub de documentação da API
- Consulte todos os indicadores suportados por moeda em os documentos da API
- Ainda não tens a chave da API? Assine para começar uma camada gratuita está disponível.