Compare Addresses

Compare Addresses

Matches addresses in different formats, using geocoding. It fetches geocodes from Google Map, compares them, and returns the matching addresses, within some threshold.

INTEGRATIONSDEVELOPER_TOOLSApify

A utility Actor to compare and match locations' addresses.

Reason

When scraping places (apartments, hotels, restaurants...) from several platforms, such as Google, Facebook, and TripAdvisor, they can have different formats.

This Actor's purpose is to match different addresses which are actually the same, e.g.,

Vodičkova 704/36, 110 00 Nové Město

and

Praha, Vodičkova, 704/36, 110 00

How it works

It uses geocoding, i.e., it transform the addresses into geographical coordinates, and compute the distances among addresses using the Haversine formula.

Sequently, it selects the closest addresses and matches them. First, it selects the addresses that match exactly, having the same latitude and longitude. Then, it uses a Linear Programming solver to select the best couples of addresses that minimize the total distance.

Input

You will have to enter the addresses in the two groups.

You can also specify the coordinates for all the addresses you know in advance, otherwise they will be determined using Google Maps.

Finally, you can specify the maximum distance that two addresses can have to match. It can be useful to allow for some tolerance and not take exact matches only, especially if you provide coordinates in input from different providers, which will likely differ slightly.

Here is an input sample:

1{
2	"group1": [
3        {
4            "key": "4 St Pappin Rd, Glasnevin, Dublin, D11 ND70, Ireland",
5            "value": "53.385766,-6.2659933" // the coordinates for this address are known in advance
6        },
7        {
8            "key": "93 95 Emmet Rd, Inchicore, Dublin 8, D08 P1H1, Ireland",
9            "value": "53.3405958,-6.3141984"
10        },
11        {
12            "key": "Malpas Court, Clanbrassil Street Lower, Dublin, D08 HN76, Ireland",
13            "value": "53.3344092,-6.2745379"
14        }
15    ],
16    "group2": [
17        {
18            "key": "201 Emmet Road, Inchicore, Dublin, Ireland",
19            "value": "" // these coordinates will be determined using Google Maps
20        },
21        {
22            "key": "Main Street, Gorteendrunagh, Castlebar, Castlebar, Ireland",
23            "value": ""
24        },
25        {
26            "key": "93-95 Emmet road, Dublin, Ireland",
27            "value": ""
28        }
29    ],
30	"toleranceInMeters": 25
31}

Output

Here is an output sample:

1[
2    {
3        "address1": "93 95 Emmet Rd, Inchicore, Dublin 8, D08 P1H1, Ireland",
4        "address2": "93-95 Emmet road, Dublin, Ireland",
5        "location1": {
6            "lat": 53.3405958,
7            "lng": -6.3141984
8        },
9        "location2": {
10            "lat": 53.3405969,
11            "lng": -6.3140013
12        },
13        "distanceInMeters": 13.085981314251544
14    }
15]

Frequently Asked Questions

Is it legal to scrape job listings or public data?

Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.

Do I need to code to use this scraper?

No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.

What data does it extract?

It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.

Can I scrape multiple pages or filter by location?

Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.

How do I get started?

You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!