Nemanja G
Nemanja G

Reputation: 1850

coinmarketcap api integration - 401 error - JavaScript

I am trying to integrate coinmarketcap api but cannot really get the data. I registered, got the API key, and wrote the following method to fetch the data:

let getPostsList = async () => {
     const options = {
        method: 'GET',
        headers: {
            'X-CMC_PRO_API_KEY': 'api-key-goes-here'
        },
         mode: 'no-cors'
    };

        try {
        const response = await fetch(`https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest`, options);
        const json = await response.body;
        // console.log(json)
        return json
    } catch (err) {
        console.log('Error: ', err)
    }
};

All I get is 401 error, like this:

GET https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest 401

Any suggestions what I should fix? Docs says that 401 is likely connected to API key, but they say to provide it in the headers like the above...

Upvotes: 0

Views: 1035

Answers (1)

Vladimir Bogomolov
Vladimir Bogomolov

Reputation: 1794

From what I've tested after getting my own API key, the no-cors mode is problematic. You will need to use CORS, where https://cors-anywhere.herokuapp.com/ comes into handy.

Just send the request like this :

const options = {
        method: 'GET',
        headers: {
            'X-CMC_PRO_API_KEY': 'api-key-goes-here'
        },
    };

        try {
        const response = await fetch(`https://cors-anywhere.herokuapp.com/https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest`, options);

Upvotes: 1

Related Questions