Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

319
Views
How can I get value in [Object]

I'm working on coinmarketcap.com api and I need only name and price and save to Mongo. It is working but at the end undefined value returned. Price value is under the quote. What is wrong ?

const axios = require('axios');
let response = null;
new Promise(async (resolve, reject) => {
  try {
    response = await axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2', {
      headers: {
        'X-CMC_PRO_API_KEY': 'myKey',
      },
    });
  } catch(ex) {
    response = null;
    console.log(ex);
    reject(ex);
  }
  if (response) {
  const coin = response.data;
  console.dir(coin, { depth: null }); 
  console.log(coin.data.map(a => { a.name,  a.quote.price}));
    resolve(coin);
  }
}
);
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

You shuldn't be wrapping this in another Promise (see: What is the explicit promise construction antipattern and how do I avoid it?) , just make a method which is async

async function getCoin(){
  try {
    const response = await axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2', {
      headers: {
        'X-CMC_PRO_API_KEY': 'YOURKEY',
      },
    });
    const coin = response.data;
    console.dir(coin, { depth: null }); 
    return coin;
  } catch(ex) {
    console.log(ex);
    throw ex;
  }
}
about 4 years ago · Juan Pablo Isaza Report

0

quote contains prices identified by their keys like this:

"quote": {
                "USD": {
                    "price": 42177.91536878145,
                    "volume_24h": 18068350418.6717,
                    "volume_change_24h": 8.1323,
                    "percent_change_1h": -0.02144759,
                    "percent_change_24h": -0.48235688,
                    "percent_change_7d": -0.65364542,
                    "percent_change_30d": -1.87762517,
                    "percent_change_60d": -13.80076009,
                    "percent_change_90d": -30.24448455,
                    "market_cap": 799599134284.9932,
                    "market_cap_dominance": 42.7605,
                    "fully_diluted_market_cap": 885736222744.41,
                    "last_updated": "2022-02-14T09:35:00.000Z"
                }
            }

so in order to solve the bug, you need to specify the proper key here (USD for example):

I tested this code and it works please copy it inside the separate js file and check the result(Replace your API key):

const axios = require('axios');
let response = null;
async function getCoin(){
  try {
    const response = await axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2', {
      headers: {
        'X-CMC_PRO_API_KEY': 'KEY',
      },
    });
    const coin = response.data;
    const result = coin.data.map(a => ({ name: a.name,  price: a.quote['USD'].price}))
    console.log(result)
    return coin;
  } catch(ex) {
    console.log(ex);
    throw ex;
  }
}
getCoin()
about 4 years ago · Juan Pablo Isaza Report

0

const axios = require("axios");

async function fetchData() {
  try {
    const response = await axios.get(
      "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2",
      {
        headers: {
          "X-CMC_PRO_API_KEY": "myKey",
        },
      }
    );

    return [response, null];
  } catch (error) {
    return [null, error];
  }
}


// in your calling function code base
const [response,error] = await fetchData()

if(response){
    // handle response object in calling code base
    const coin = response.data
}

if(error){
    // handle error explictly in calling code base 
}
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!