Unleashing the Power of Free API for Scrape Reverse Geocoding


Unleashing the Power of Free API for Scrape Reverse Geocoding

Simple script using javascript to scrape a list of addresses and get the longitude and latitude for free using Google Maps API or MapDevelopers.

** addresses.csv **

address1
address2
address3
...
addressN

JavaScript file to scrape

Here’s the index file in two shapes, using google maps API or MapDevelopers. ** index.js **

Geocode search using Google Maps API

const axios = require('axios');

const url = 'https://maps.googleapis.com/maps/api/geocode/json'

const getLocation = async (address) => {
    const response = await axios.get(url,
        {
            params: {
                key: "GOOGLE_MAPS_API_KEY",
                "address": address,
            }
        });
    // console.log(response)
    const data = response.data;
    return data;
}


async function main() {
    // read the txt file
    const fs = require('fs');
    const path = require('path');
    const filePath = path.join(__dirname, 'addresses.csv');
    const addresses = fs.readFileSync(filePath, 'utf-8').split('\n');

    // loop over addresses

    for (let index = 0; index < addresses.length; index++) {
        const school = addresses[index];

        const data = await getLocation(school);
        // write to file
        const location = data.results[0]
        fs.appendFileSync('results-google.json', JSON.stringify({ name: school, result: location }) + ',\n');

        await new Promise(resolve => setTimeout(resolve, 2000));
        console.log("finished", index)
    }
}

main();

Geocode search using Mapdevelopers API

Using MapDevelopers, you need first to make a request on https://www.mapdevelopers.com/geocode_tool.php, check developer tools and inspect the request to’https://www.mapdevelopers.com/data.php’, copy and paste below lcode and lid.

const axios = require('axios');

const url = 'https://www.mapdevelopers.com/data.php'

const getLocation = async (address) => {
    const response = await axios.get(url,
        {
            params: {
               
                "address": address,
                "operation": "geocode",
                "region": "Europe",
                "lcode": "HDxDfOJfv2FjA9Yl", // replace here
                "lid": "51143627", // replace here
                "code": "splitpea"
            }
        });
    // console.log(response)
    const data = response.data;
    return data;
}


async function main() {
    // read the txt file
    const fs = require('fs');
    const path = require('path');
    const filePath = path.join(__dirname, 'addresses.csv');
    const addresses = fs.readFileSync(filePath, 'utf-8').split('\n');

    // loop over addresses

    for (let index = 0; index < addresses.length; index++) {
        const school = addresses[index];

        const data = await getLocation(school);
        // write to file
        fs.appendFileSync('results-google.csv', `${school}, ${data.lat}, ${data.lng}, ${data.country}, ${data.county}, ${data.address}, ${data.postcode}` + '\n');
     
        await new Promise(resolve => setTimeout(resolve, 2000));
        console.log("finished", index)
    }
}

main();

Run the script

node index.js

Newsletter


Related Posts

Tools for Analyzing Your Competition

Before knowing where your business stands, you should look at the market and your competition. You need to know what marketing tactics and strategies are working for your audience, what traffic the competition has, and how they position.

Free Online Photo Editor with Cool Effects | Edit Images Easily

Transform your images with our free online photo editor with cool effects. Add filters, adjust colors, and apply creative enhancements. Edit your photos easily and make them stand out.

How to find the size of a table in SQL?

Learn how to determine the size of a SQL table with this informative guide. Discover efficient methods for measuring table size.

MongoDB Query date by _id field

Query date by _id in mongodb. Straighforward guide to solve your issue right away.

Discover the Power of Whatsapp-web.js for Safe and Easy Automation

Automate WhatsApp with ease using Whatsapp-web.js, a NodeJS client library that connects through the official WhatsApp Web app, reducing ban risks. Perfect for user or business accounts.

Website tours js tools

Tools to create live tours for your web project using js libraries.

Unlocking SaaS Marketing Success: Essential Resources to Learn and Grow

Discover a comprehensive collection of valuable resources to master the art of SaaS marketing.

Where to launch your startup

Do you wanna launch grandiosely your startup? Get a list of platforms where people can discover your project and can push your project directly to the sky.

Email campaign improving my SaaS convertion - Manager Flota

Users subscribe to your SaaS, but don't let the money on your table. Here's how I do it!

Exploring Romania's Vibrant Startup Ecosystem - Startup List

Romania, a hidden gem in Eastern Europe, has become a thriving hub for innovation and entrepreneurship.