API de dados de mercado Fastmarkets
Descubra como utilizar eficazmente a API de Dados de Mercado Fastmarkets para acessar preços em tempo real e aprimorar suas análises de mercado.
Table of Contents
API de Dados de Mercado
A API de Dados de Mercado fornece valores de preços e dados de instrumentos associados para preços de mercado: preços oficiais da LME com atraso, preços de câmbio da LME, liquidações do CME Group e da SHFE. Todos os valores de preços estão associados a instrumentos que utilizam um símbolo como identificador.
Documentação técnica da API
Para obter mais informações sobre as especificações desta API e para experimentá-la, consulte a página de documentação da API (Swagger).
Você pode tentar executar chamadas de API reais usando suas credenciais da plataforma Fastmarkets . Solicite à equipe Fastmarkets que conceda acesso ao Swagger à sua conta.
Autenticação
Todas as APIs Fastmarkets exigem um token de acesso válido para recuperar dados protegidos por permissões. Para gerar um token de acesso, consulte o guia da API de autenticação com o escopo: fastmarkets.marketdata.api.
O token é então adicionado a um parâmetro de cabeçalho de Autorização usando o prefixo 'Bearer'. Por exemplo:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Recuperando um preço único
Para retornar o preço avaliado mais recente disponível para um instrumento específico, utiliza-se o endpoint Prices. Neste exemplo, o símbolo 'XL-CA-FRC.O' é usado para retornar os dados de preço mais recentes disponíveis (campos bid, mid e ask) para 'LME Copper Cash Official'.
Na resposta, são retornados os valores de preço de compra (bid), preço médio (mid) e preço de venda (ask) , bem como o registro de data e hora do preço, referentes aos dados mais recentes disponíveis .
Exemplo de solicitação (Python)
POST https://api.fastmarkets.com/marketdata/v1/Prices HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XL-CA-FRC.O&fields=bid,mid,askurl = "https://api.fastmarkets.com/marketdata/v1/Prices"
query = {'symbols':'XL-CA-FRC.O', 'fields':['bid', 'mid', 'ask']}
headers = {
'Authorization': 'Bearer ' + accessToken.access_token,
'cache-control': 'no-cache'
}
req = requests.request("GET", url, headers=headers, data = query)
singlePrice = json.loads(req.content)Exemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XL-CA-FRC.O",
"bid": 11280.0,
"bidTime": "2025-12-02T12:46:13.0000000+00:00",
"mid": 11282.5,
"midTime": "2025-12-02T12:46:13.0000000+00:00",
"ask": 11285.0,
"askTime": "2025-12-02T12:46:13.0000000+00:00"
}
]
}É sempre necessário fornecer um valor para o parâmetro de símbolos e campos.
Recuperando vários preços
Também é possível solicitar preços de vários instrumentos em uma única solicitação usando o endpoint Prices.
No exemplo de solicitação abaixo, foram solicitados três símbolos diferentes. O resultado apresentará três preços para todos os instrumentos.
Exemplo de solicitação (Python)
POST https://api.fastmarkets.com/marketdata/v1/Prices HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XL-CA-FRC.O,XL-NI-FRC.O,XL-SN-FRC.O&Fields=bid,mid,askurl = "https://api.fastmarkets.com/marketdata/v1/Prices"
query = {
'symbols': ['XL-CA-FRC.O','XL-NI-FRC.O','XL-SN-FRC.O'],
'fields': ['bid', 'mid', 'ask']
}
headers = {
'Authorization': 'Bearer ' + accessToken.access_token,
'cache-control': 'no-cache'
}
req = requests.request("GET", url, headers=headers, data = query)
multiplePrices = json.loads(req.content)Exemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XL-CA-FRC.O",
"bid": 11280.0,
"bidTime": "2025-12-02T12:46:13.0000000+00:00",
"mid": 11282.5,
"midTime": "2025-12-02T12:46:13.0000000+00:00",
"ask": 11285.0,
"askTime": "2025-12-02T12:46:13.0000000+00:00"
},
{
"symbol": "XL-NI-FRC.O",
"bid": 14715.0,
. . .
},
{
"symbol": "XL-SN-FRC.O",
"bid": 39245.0,
. . .
}
]
}Obtendo uma gama de preços
Utilizando o endpoint Prices/History, é possível recuperar uma série de preços ao longo de um período específico. Neste exemplo, é feita uma solicitação para os preços dos últimos 6 dias até o momento atual (no momento da redação deste texto, 10h18 do dia 3 de dezembro de 2025). A resposta retorna os preços em ordem crescente de data. Não são fornecidos dados para os dias 29 e 30 de novembro, pois estes ocorreram em um fim de semana. A resposta retorna os preços em ordem decrescente de data.
Exemplo de solicitação (Python)
POST https://api.fastmarkets.com/marketdata/v1/Prices/History HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XL-CA-FRC.O&Fields=bid,mid,ask&Interval=6:0:0:0url = "https://api.fastmarkets.com/marketdata/v1/Prices/History"
query = {
'symbols': 'XL-CA-FRC.O',
'Fields': ['bid', 'mid', 'ask'],
'Interval': '6:0:0:0'
}
headers = {
'Authorization' : 'Bearer ' + accessToken.access_token,
'cache-control' : 'no-cache'
}
req = requests.request("GET", url, headers=headers, data = query)
priceRange = json.loads(req.content)Exemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XL-CA-FRC.O",
"prices": [
{
"time": "2025-11-27T12:46:12.0000000+00:00",
"bid": 10933.0,
"ask": 10934.0,
"mid": 10933.5
},
{
"time": "2025-11-28T12:45:33.0000000+00:00",
"bid": 11003.0,
"ask": 11004.0,
"mid": 11003.5
},
{
"time": "2025-12-01T12:46:41.0000000+00:00",
"bid": 11298.0,
"ask": 11299.0,
"mid": 11298.5
},
{
"time": "2025-12-02T12:46:13.0000000+00:00",
"bid": 11280.0,
"ask": 11285.0,
"mid": 11282.5
}
]
}
]
}Outros campos para recuperar o histórico de preços
Existem vários outros campos opcionais que podem ser usados para controlar o histórico de preços solicitado:
| Nome do campo | Descrição |
|---|---|
| startDate |
Uma data/hora especificada no formato ISO-8601. Exemplo: 2025-09-10T10:00:00Z
Você pode solicitar uma faixa de preços, tanto para frente quanto para trás, a partir deste horário de início . Se você não fornecer um valor, assumiremos que o horário de início é agora, e você poderá fornecer apenas um intervalo positivo ou uma contagem para solicitar um intervalo até o momento atual . |
| interval |
Um TimeSpan no formato dias:horas:minutos:segundos. Ao especificar um startTime, use um valor negativo para solicitar um intervalo que anteceda o startTime. Quando o startTime for deixado em branco, o intervalo deve ser positivo e será usado para solicitar um intervalo que anteceda o momento atual .
Você deve especificar o intervalo ou a contagem. |
| count |
O número de preços que você deseja recuperar. Ao especificar um horário de início (startTime), use um valor negativo para solicitar preços anteriores a esse horário. Quando o horário de início for deixado em branco, o valor de contagem (count) deve ser positivo e será usado para solicitar um intervalo de preços até o momento atual .
Você deve especificar o intervalo ou a contagem. |
tipos de dados de preços de mercado
A estrutura de dados varia dependendo da fonte e do tipo de contrato. Para receber o valor correto do preço, os campos correspondentes devem ser fornecidos na solicitação de preço:
| Rótulo de origem | Campos |
|---|---|
| CME, CBOT, NYMEX | povoado |
| LME, OTC, (LBMA) | meio, lance, pedido |
| SHFE, COMEX | acordo, próximo |
| OTC (.E) | lance, pergunte |
| OTC | closelondon4pm, closeutcmidnight |
Exemplo de solicitação COMEX
POST https://api.fastmarkets.com/marketdata/v1/Prices HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XC-ALI-FR1M&fields=settlement,closeExemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XC-ALI-FR1M",
"close": 2711.25,
"closeTime": "2025-11-21T07:11:05.0000000+00:00",
"settlement": 2849.75,
"settlementTime": "2025-12-02T00:00:00.0000000+00:00"
}
]
}Exemplo de solicitação OTC LBMA
POST https://api.fastmarkets.com/marketdata/v1/Prices HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XO-AULBMA-T.AM&fields=bid,mid,askExemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XO-AULBMA-T.AM",
"bid": 4185.7,
"bidTime": "2025-12-02T10:32:16.0000000+00:00",
"mid": 1953.5,
"midTime": "2023-05-26T00:00:00.0000000+00:00",
"ask": 4185.7,
"askTime": "2025-12-02T10:32:16.0000000+00:00"
}
]
}Exemplo de solicitação de venda livre
POST https://api.fastmarkets.com/marketdata/v1/Prices HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XO-USDCAD-RRM1&fields=closelondon4pm,closeutcmidnightExemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XO-USDCAD-RRM1",
"closelondon4pm": -23.75,
"closelondon4pmTime": "2025-12-02T15:59:54.0000000+00:00",
"closeutcmidnight": -23.02,
"closeutcmidnightTime": "2025-12-02T23:59:54.0000000+00:00"
}
]
}Exemplo de solicitação de OTC
POST https://api.fastmarkets.com/marketdata/v1/Prices HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XO-AULBMA-T.AM&fields=bid,mid,askExemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XO-AULBMA-T.AM",
"bid": 4185.7,
"bidTime": "2025-12-02T10:32:16.0000000+00:00",
"mid": 1953.5,
"midTime": "2023-05-26T00:00:00.0000000+00:00",
"ask": 4185.7,
"askTime": "2025-12-02T10:32:16.0000000+00:00"
}
]
}Exemplo de solicitação CBOT
POST https://api.fastmarkets.com/marketdata/v1/Prices HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XB-ZC-FSH26&fields=settlementExemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XB-ZC-FSH26",
"settlement": 450.0,
"settlementTime": "2025-12-02T00:00:00.0000000+00:00"
}
]
}Recuperação de dados do instrumento
Todos os preços dos dados de mercado estão relacionados a um instrumento associado. O instrumento consiste em vários atributos, todos disponíveis para visualização através do endpoint Instrument.
Se nenhum parâmetro de entrada for fornecido, todos os instrumentos que o serviço de chamada tem o direito de visualizar serão retornados. O parâmetro de entrada Symbols pode ser usado para retornar instrumentos específicos.
Exemplo de solicitação (Python)
POST https://api.fastmarkets.com/marketdata/v1/Instruments HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ
Symbols=XL-CA-FRC.Ourl = "https://api.fastmarkets.com/marketdata/v1/Instruments "
query = {'symbols': 'XL-CA-FRC.O'}
headers = {
'Authorization' : 'Bearer ' + accessToken.access_token,
'cache-control' : 'no-cache'
}
req = requests.request("GET", url, headers=headers, data = query)
priceRange = json.loads(req.content)Exemplo de resposta (JSON):
{
"instruments": [
{
"symbol": "XL-CA-FRC.O",
"description": "LME Copper Cash (Nov 25) Official USD/t",
"descriptionShort": "LME CA Cash (Nov 25) Off",
"type": {
"code": "FUT",
"label": "Future"
},
"source": {
"code": "LME",
"label": "LME"
},
"product": {
"commodity": {
"code": "CU",
"label": "Copper"
},
"code": "CA",
"label": "Copper Grade A"
},
"maturity": {
"type": {
"code": "R",
"label": "Rolling"
},
"prompt": {
"code": "C",
"label": "Cash"
},
"date": "2025-11-13",
"isExpired": false
},
"currency": {
"code": "USD",
"label": "US Dollar"
},
"unitOfMeasure": {
"code": "t",
"label": "Tonne"
},
"lotSize": 25,
"delayClass": {
"shortLabel": "Live",
"code": "Live",
"label": "Delay Class - Live"
},
"aggregations": [
{
"name": "OHLCV",
"field": "ask",
"schema": "ohlcV-ask",
"periods": [
"P1D",
"P1W",
"P1M"
]
}
],
"frequency": [
"Daily"
]
}
]
}Simbologia de câmbio
O sistema de simbologia de dados de mercado visa ser consistente, extensível, inequívoco, legível por máquina, inalterável quando codificado em URL, imediatamente identificável e visualmente consistente com os símbolos físicos de preços. O sistema permite a extensão para abranger novos instrumentos e facetas de precificação que não representam propriedades intrínsecas.
Todos os símbolos da Market Data estão sujeitos à mesma regra de formação:
Future single: {Código de troca}-{Produto de troca}-FS{Mês de solicitação}{Ano de solicitação}
Future Rolling: {Código da Bolsa}-{Produto da Bolsa}-{FR/RR(rolagem futura/prompt de rolagem)}{M/Y(mês/ano)}
Exemplos:
- XB-ZS-FSX25 (CBOT | Soja | Futuro | Único | Novembro | 2025)
- XZ-LBR-FSZ23 (CME | Madeira | Futuro | Simples | Dezembro | 2023)
- XN-NG-FR11M (NYMEX | Gás Natural | Futuro | Laminação | 11M)
- XZ-USDSOFR-RR1Y (CME | Termo SOFR | Rolling Prompt | 1Y)
Abaixo estão as tabelas de codificação para diferentes corretoras:
| Código | Intercâmbio |
|---|---|
| XL | Bolsa de Metais de Londres (LME) |
| XC | Bolsa Mercantil de Chicago (grupo CME) COMEX |
| XN | Bolsa Mercantil de Chicago (grupo CME) NYMEX |
| XS | Bolsa de Futuros de Xangai (SHFE) |
| XO | sem câmbio, de balcão (OTC) |
| XD | Bolsa de Mercadorias de Dalian (DCE) |
| XE | Euronext |
| XB | Bolsa Mercantil de Chicago (grupo CME) CBOT |
| XM | Bolsa de Grãos de Minneapolis (MGX) |
| XA | Mercado no Terminal de Buenos Aires (MATBA) |
| XI | ICE (intercâmbio) |
| XZ |
Bolsa Mercantil de Chicago (Grupo CME) - CME (uma submarca do grupo CME, chamada, de forma confusa, de CME. Inclui madeira e suínos vivos) |
Códigos dos meses:
| Nome | Código |
|---|---|
| Janeiro | F |
| Fevereiro | G |
| Marchar | H |
| abril | J |
| Poderia | K |
| Junho | M |
| Julho | N |
| Agosto | Q |
| Setembro | U |
| outubro | V |
| novembro | X |
| dezembro | Z |
Informações técnicas da API
Para saber mais sobre nossas APIs, consulte as informações técnicas da API .
Further help
Se você tiver mais dúvidas ou precisar de mais ajuda, consulte todo o conteúdo disponível em nossa Central de Ajuda. Se não encontrar o que precisa e quiser entrar em contato com nossas equipes de suporte, vamos ajudá-lo(a) .