Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Become a customer
  • Contact Us
English (US)
US English (US)
JP Japanese
  • Home
  • Platform
  • APIs
  • API

Fastmarkets News API

News API integration user guide

Written by Eleonora Lebedeva

Updated at October 29th, 2025

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Platform
    Dashboard Excel Add-In Mobile apps APIs
  • Log in
  • Training
  • Events
  • Prices and methodology
  • MyDesk
    Getting Started with MyDesk Using MyDesk MyDesk advanced widgets Data available in MyDesk Troubleshooting
  • Administration
    Manage users Billing and invoices Banking and vendor registration
  • Contact us
+ More

Table of Contents

News API API technical documentation Authenticating Article instance Search for news Example Request (Python): Example Response (JSON): Retrieving Article by ID Example Request (Python): Example Response (JSON): Retrieving Reference data Example Request (Python): Example Response (JSON): Technical API information Further help

News API

The News API provides Fastmarkets news content and related reference data. The built-in search function allows you to filter data and retrieve historical articles. All articles have associated unique ID, title, short summary and content.

API technical documentation

For more on the specification of this API please refer to the News API documentation page (Swagger)

You can try running real API calls there using your Fastmarkets Platform credentials. Ask Fastmarkets team to provide your account with Swagger access.

Authenticating

All Fastmarkets APIs require a valid Access Token to retrieve permissioned data. To generate an Access Token, please refer to the Authentication API guide. The token is then added to an Authorization header parameter using the ‘Bearer’ prefix. For example:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ

Article instance

The Article object, returned by News API, have the next fields included:

Name Type Description
id string Article unique ID. May include letters
title string The headline of the article
content string HTML-formatted full text of the article. May include hyperlinks to other articles or related price pages, URLs pointing to images embedded within the article. Formatting may vary across sources, but the HTML is simple and does not include nested components or complex layouts
summary string A brief overview of the article
authors List[string] List of authors names
authorsDetails List[authorDetail] List of authors details - name and email
publishedDate Date YYYY-MM-DDThh:mm:ss+00:00 Original publication timestamp
updatedDate Date YYYY-MM-DDThh:mm:ss+00:00 Last modification timestamp
requested fields List[string] Optional metadata if requested (e.g., locations, products related)

Content example:

<strong>Domestic<br>\r\n</strong>\r\nFastmarkets’ daily price assessment for <a href=\"https://dashboard.fastmarkets.com/p/MB-STE-0152\" target=\"_blank\" data-uri=\"physical://instrument/MB-STE-0152\">steel reinforcing bar (rebar) domestic, ex-whs Eastern China</a> was 3,940-3,960 yuan ($551-554) per tonne on Thursday, up by 20 yuan per tonne from 3,920-3,940 yuan per tonne on Wednesday. <br>\r\n&nbsp;<br>\r\nRising raw materials prices pushed up rebar futures contract prices, sources said. <br>\r\n<br>\r\nThe most-traded May iron ore futures contract on the Dalian Commodity Exchange closed at 952 yuan per tonne on Thursday, up by 22 yuan per tonne from Wednesday. 
. . .
End users will reduce their procurement tonnages if I raise prices too much. Some sellers offer at 3,970-3,980 yuan per tonne, but hardly conclude deals. I can get stable rebar sales volumes by raising prices carefully,\" a trader in Shanghai said.   <br>\r\n<br>\r\n<strong>Billet<br>\r\n</strong>\r\nFastmarkets' daily <a href=\"https://dashboard.fastmarkets.com/p/MB-STE-0157\" target=\"_blank\" data-uri=\"physical://instrument/MB-STE-0157\">price assessment for steel billet domestic, exw Tangshan, Northern China</a> was 3,660 yuan per tonne including value-added tax on Thursday, up by 40 yuan per tonne from Wednesday.             <br>\r\n&nbsp;<br>\r\n<strong>Shanghai Futures Exchange<br>\r\n</strong>\r\nThe most-traded May rebar futures contract closed at 4,011 yuan per tonne on Thursday, up by 58 yuan per tonne from 3,953 yuan per tonne on Wednesday."

Author details example:

"authorsDetails": [
                {
                    "name": "Jessica Zong",
                    "email": "jessica.zong@fastmarkets.com"
                }
            ]

Additional fields example:

"commodities": [
                "Iron ore",
                "Ferrous ores"
            ],
"locations": [
                "Asia",
                "China",
                . . .
                "Greater China",
                "Northeast Asia"
            ]

Date example:

2023-12-07T09:40:00+00:00

Search for news

This method allows retrieving set of articles with detailed article information by filters. The “FromDate” parameter is required and must be a valid date in YYYY-MM-DD format. The response will contain the list of article objects and the total number of filtered articles.

The article object in search response contain all basic article information: unique id, title, summary, content, published and updated date and authors information.

Example Request (Python):

GET /news/v3/Articles/Search HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ

Commodity=steel&FromDate=2025-10-10
url = "https://api.fastmarkets.com/news/v3/Articles/Search?FromDate=2025-10-10&Commodity=steel"
payload = {}
headers = {
	'Authorization': 'Bearer ' + accessToken.access_token,
	'cache-control': 'no-cache'
	}
req = requests.request("GET", url, headers=headers, data = query)
singlePrice = json.loads(req.content)

Example Response (JSON):

{
    "articles": [
        {
            "id": "5241327",
            "title": "Chinese HRC prices continue . . . ‘anti-involution’ push",
            "publishedDate": "2025-10-29T10:34:00+00:00",
            "updatedDate": "2025-10-29T10:32:38.547+00:00",
            "summary": "Chinese hot-rolled . . . sources told Fastmarkets.",
            "content": "Futures prices . . .Tuesday</a>.<br>",
            "authors": [
                "Zihuan Pan"
            ],
            "authorsDetails": [
                {
                    "name": "Zihuan Pan",
                    "email": "zihuan.pan@fastmarkets.com"
                }
            ]
        },
	. . .
        {
            "id": "5241331",
            "title": "China’s domestic . . . raw materials costs",
            "publishedDate": "2025-10-29T09:29:00+00:00",
            "updatedDate": "2025-10-29T09:30:19.287+00:00",
            "summary": "China’s domestic rebar prices . . .Fastmarkets.\r\n",
            "content": "The price rise . . . yuan per tonne on Tuesday.",
            "authors": [
                "Jessica Zong"
            ],
            "authorsDetails": [
                {
                    "name": "Jessica Zong",
                    "email": "jessica.zong@fastmarkets.com"
                }
            ]
        }
    ],
    "total": 246
}

In case if total number of filtered results is more, than size of articles chunk, you can paginate through the search selection using From and Size: 

GET /news/v3/Articles/Search HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ

Commodity=steel&FromDate=2024-10-10&From=100&Size=100
https://api.fastmarkets.com/news/v3/Articles/Search?FromDate=2025-08-10&Commodity=steel&size=100&from=300

Please note that values at array parameters filter the request by ‘or’ operation: the bottom request will return articles that contain information for North America or for Asia:

GET /news/v3/Articles/Search HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ

Commodity=steel&Location=North%20America%2CAsia&FromDate=2024-10-10&From=100&Size=100
https://api.fastmarkets.com/news/v3/Articles/Search?Location=North%20America%2CAsia&FromDate=2025-08-10&Commodity=steel&size=100&from=300

Available filtering options:

Field Type Description Example
Commodity Array[string] The filter definition for commodity steel

Location

Array[string]

The filter definition for location

Asia

Product

Array[string]

The filter definition for product

Germania dioxide, corn oil

Source

Array[string]

The filter definition for source

AgriCensus, Fastmarkets Metals

FromDate* (required)

Date string yyyy-mm-dd

Start date of the time series

2023-10-12

ToDate

Date string yyyy-mm-dd

End date of the time series

2024-12-26

From

Integer

The starting index for pagination

0

Size

Integer

The number of results to be included in the response

150

Fields

Array[string]

Optional field(s) to return in the response. 

Commodities, Locations, Source, Products, ArticleTypes, PublicationURIs

Retrieving Article by ID

This method allows retrieving detailed article information by its unique identifier. The “Ids” parameter is required and must be a valid list of article IDs provided by Search API. Multiple articles can be asked in a single request by providing several IDs separated by a comma character. The response will contain the article object with its title, content, summary, author, published date, updated date and additional fields if they were provided in the request.

Example Request (Python):

GET /news/v3/Articles HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ

Ids=5187416&Fields=commodities,locations,source,products
url = "https://api.fastmarkets.com/news/v1/Articles?Ids=5187416&Fields=commodities,locations,cource,products"
payload = {}
headers = {
	'Authorization': 'Bearer ' + accessToken,
	'cache-control': 'no-cache'
	}
req = requests.request("GET", url, headers=headers, data = query)
singlePrice = json.loads(req.content)

Example Response (JSON):

{
    "articles": [
        {
            "id": "5187416",
            "title": "China’s domestic . . . raw material costs",
            "publishedDate": "2023-12-07T09:40:00+00:00",
            "updatedDate": "2023-12-07T09:39:10.003+00:00",
            "summary": "China’s domestic rebar . . . same day, sources said.\r\n",
            "content": "<strong>Domestic<br>\r\n. . . per tonne on Wednesday.",
            "authors": [
                "Jessica Zong"
            ],
            "authorsDetails": [
                {
                    "name": "Jessica Zong",
                    "email": "jessica.zong@fastmarkets.com"
                }
            ],
            "commodities": [
                "Iron ore",
                "Ferrous ores"
            ],
            "locations": [
                "Asia",
                "China",
                . . .
                "Northeast Asia"
            ],
            "products": [
                "Steel Rebar",
                "Steel billet",
                "Steel Raw Materials"
            ]
        }
    ]
}

Retrieving Reference data

The References endpoint is useful for obtaining details of all valid values for a particular field (such as company names) or to obtain the full name a specific reference value, used for Search endpoint. 

The following reference data is available:

  • Commodity
  • Location
  • Source
  • Product
  • Topic
  • Company

Example Request (Python):

GET /news/v3/References HTTP/1.1
Host: api.fastmarkets.com
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ

Types=Location
url = "https://api.fastmarkets.com/news/v3/References?referenceTypes=Location"
payload = {}
headers = {
	'Authorization': 'Bearer ' + accessToken,
	'cache-control': 'no-cache'
	}
req = requests.request("GET", url, headers=headers, data = query)
singlePrice = json.loads(req.content)

Example Response (JSON):

{
    "References": [
        {
            "Type": "location",
            "Items": [
                "APEC",
                "ASEAN",
                "Afghanistan",
                "Africa",
                "Alabama",
	. . .
                "Uzbekistan",
                "Vietnam",
                "West Coast United States",
                "Western Europe",
                "World",
                "Zambia"
            ]
        }
    ]
}

Technical API information

To find out more about our APIs please see API technical information 
 

Further help

If you have more questions or need further support please look at all the help content available on our Support Hub. If you can't find what you need and want to contact our support teams then Let’s get you some help. 

 

 

 

 

 

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Fastmarkets Authentication API
  • Introduction to Fastmarkets APIs
  • API technical information

Copyright 2025 – Fastmarkets.

Knowledge Base Software powered by Helpjuice

Expand