Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 0 0 0

Eikon Api code error 404

function getTeslaPrice() {

// Eikon API의 올바른 엔드포인트 URL을 확인하세요.

const url = "https://api.refinitiv.com/marketdata/price"; // 예시 URL, 실제 URL로 교체 필요


const options = {

method: "GET",

headers: {

"Authorization": "Bearer 22a107f781ba4bffa71d80362e8e5c188f1f1d49", // API 키를 Authorization 헤더에 포함

"Content-Type": "application/json"

}

// payload: JSON.stringify({ "rics": ["TSLA.O"] }) // 필요 시 요청 본문 추가

};


try {

const response = UrlFetchApp.fetch(url, options);

const data = JSON.parse(response.getContentText());


// Eikon API의 데이터 구조에 맞게 수정하세요

const teslaPrice = data.price; // 실제 데이터 구조에 맞게 조정 필요


return teslaPrice;

} catch (e) {

Logger.log("Error fetching data: " + e.message);

return "Error";

}

}


function updateTeslaPriceInSheet() {

const price = getTeslaPrice();

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("고유계정 시트");


if (sheet) {

sheet.getRange("C141").setValue(price);

} else {

Logger.log("Sheet named '고유계정 시트' not found.");

}

}


I received an Error 404 when I used the code with Google Apps Script in Google Sheets. Could you please tell me what might be wrong with the code? I want to retrieve the current Tesla stock price. If the endpoint code is incorrect, could you provide the correct endpoint? Additionally, please provide the Python library for this task as well. Your help is urgently needed. Thank you.


#technologyrdp-apiapipython apiendpoint
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvotes
Accepted
27k 65 17 14

Hello @hjkim

According to the API endpoint "https://api.refinitiv.com", I am assuming that you are connecting to the Delivery Platform APIs (RDP - formerly known as Refinitiv Data Platform) HTTP web API.

I checked the RDP API Playground page, I cannot find "https://api.refinitiv.com/marketdata/price" endpoint on the website, that is why you get the HTTP 404 error message.

I am not sure what kind of data that you need, but the RDP has the /data/pricing/snapshots/v1/ endpoint that might suites your needs.

1721896160972.png


I strongly suggest you contact your LSEG representative or Account Manager to help you verify which API endpoint that matches your requirements and assigns the API permission for you.

About the Python library, the RDP is the HTTP REST API, so any Python HTTP libraries such as requests or http.client can get the job done.

Example with requests

url = 'https://api.refinitiv.com/data/pricing/snapshots/v1/'

headers = {
    'Accept': 'application/json',
    'Authorization': f'Bearer {access_token}'
}
payload = {
    'universe': universe,
    'fields': fields
}
try:
    response = requests.get(url, headers=headers, params = payload, timeout=10)
except requests.exceptions.RequestException as exp:
    print(f'Caught exception: {exp}')
    return None

if response.status_code == 200:  # HTTP Status 'OK'
    print('Receive Data from RDP APIs')
    print(response.json())
else:
    print(f'RDP APIs: data request failure: {response.status_code} {response.reason}')
    print(f'Text: {response.text}')
    raise requests.exceptions.HTTPError(f'data request failure: {response.status_code} - {response.text} ', response = response )

1721896484099.png



1721896160972.png (125.0 KiB)
1721896484099.png (21.9 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.