Making huge number (may be around 100000) of api calls to maps.google.com results in getaddrinfo ENOTFOUND error

Viewed 173

I am trying to make huge number of requests to https://maps.googleapis.com/maps/api/place/queryautocomplete/json.

Basically I am taking some list of strings from many files and trying to make a request to the above api. If I run with 100 strings it is working fine but if the number is increased then it is returning this error.

    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'maps.googleapis.com',
  host: 'maps.googleapis.com',
  port: 443,
  config:
   { url:
      'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?language=en&key=<api_key>&input=kakanipalem+andhra+pradesh+india',
     method: 'get',
     headers:
      { Accept: 'application/json, text/plain, */*',
        'User-Agent': 'axios/0.19.2' },
     transformRequest: [ [Function: transformRequest] ],
     transformResponse: [ [Function: transformResponse] ],
     timeout: 10000,
     adapter: [Function: httpAdapter],
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     data: undefined }

Initially I used Promise.all like

let results = [];
for(let i=0;i<inputStrings.length;i++){
  let url = `https://maps.googleapis.com/maps/api/place/queryautocomplete/json?language=en&key=<api_key>&input=${inputStrings[i]}+andhra+pradesh+india`;
  results.push(axios.get(url))
}
Promise.all(results).then((refinedResults)=>{
//console.log(refinedResults);
}).catch(e=>console.log(e);)

Later, I thought of making two requests concurrently.

For handling this I am trying to make only 2 requests concurrently using axios. The sample code is:

const cleanInput = async (inputStrings, field) => {
    let results = [];
    try {
        let count = 0;
        let run = 0;
        let requiredResults = [];
        let index = 0;
        while (count < fieldNames.length && run <= 2) {
            let tempIndex = 0;
            if (results.length < 2) {
                console.log("pushing", count);
                let url = `https://maps.googleapis.com/maps/api/place/queryautocomplete/json?language=en&key=<api_key>&input=${inputStrings[index + tempIndex]}+andhra+pradesh+india`;
                results.push(axios.get(url));
                run += 1;
                tempIndex++;
            } else {
                let responses = await axios.all(results);
                // results = 0;
                run -= results.length;
                count += results.length;
                results = [];
                // perform some operation on responses array
            }

        }
    } catch (e) {
        console.log(e);
    }
}

I want to know if there is any modification that I can do in the above code so that I can overcome the issue?

Also I want to know which approach is better for successfully getting the results or is there any other better approach other than the above two?

EDIT 2:

I am using the following api. The input query parameter is taken from a huge file which has all the input words. This process is repeated for multiple files.

https://maps.googleapis.com/maps/api/place/queryautocomplete/json?language=en&key=<api_key>&input=hyderabad

My test file will be like

addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag
addanki
adoni
kalyanadurg
hyderabad
vizag

So for example if my total number of files = 10, in each file number of string = 1500, so I am taking one file, and for each input(total of 1500 inputs in file) I am making an api call. (It is repeated for all the 10 files.)

1 Answers

Problem may be due to the following reason

  1. ENOTFOUND error will occurs due to an unstable network connection, Please check your connection is stable and DNS works properly, You can go to the network tab of browser to check any ENOTFOUND error occurring while browsing through some website.If the error occurs please try to update your DNS.

  2. Due to Quota limited there some limit to the requests.Please check your Quota.

    enter image description here

Related