Locations API
mastercard · Company
The Locations API provides access to MasterCard's ATM and Merchant location database
Authentication
Sample Requests
Returns detailed information about an ATM location. This information can be used to display ATMs on a map, provide driving directions, or show special ATM features.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/atm?City=London&Radius=1&Country=US&Latitude=51.5074&Longitude=-0.1278&PageLength=1&PageOffset=1&PostalCode=example&SupportEMV=1&AddressLine1=example&AddressLine2=example&DistanceUnit=example&CountrySubdivision=example&InternationalMaestroAccepted=1"
import requests
params = {
"City": "London",
"Radius": "1",
"Country": "US",
"Latitude": "51.5074",
"Longitude": "-0.1278",
"PageLength": "1",
"PageOffset": "1",
"PostalCode": "example",
"SupportEMV": "1",
"AddressLine1": "example",
"AddressLine2": "example",
"DistanceUnit": "example",
"CountrySubdivision": "example",
"InternationalMaestroAccepted": "1"
}
response = requests.get(
"https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/atm",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/atm');
url.searchParams.set('City', 'London');
url.searchParams.set('Radius', '1');
url.searchParams.set('Country', 'US');
url.searchParams.set('Latitude', '51.5074');
url.searchParams.set('Longitude', '-0.1278');
url.searchParams.set('PageLength', '1');
url.searchParams.set('PageOffset', '1');
url.searchParams.set('PostalCode', 'example');
url.searchParams.set('SupportEMV', '1');
url.searchParams.set('AddressLine1', 'example');
url.searchParams.set('AddressLine2', 'example');
url.searchParams.set('DistanceUnit', 'example');
url.searchParams.set('CountrySubdivision', 'example');
url.searchParams.set('InternationalMaestroAccepted', '1');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/atm")
q := baseURL.Query()
q.Set("City", "London")
q.Set("Radius", "1")
q.Set("Country", "US")
q.Set("Latitude", "51.5074")
q.Set("Longitude", "-0.1278")
q.Set("PageLength", "1")
q.Set("PageOffset", "1")
q.Set("PostalCode", "example")
q.Set("SupportEMV", "1")
q.Set("AddressLine1", "example")
q.Set("AddressLine2", "example")
q.Set("DistanceUnit", "example")
q.Set("CountrySubdivision", "example")
q.Set("InternationalMaestroAccepted", "1")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/atm")
uri.query = URI.encode_www_form({
"City" => "London",
"Radius" => "1",
"Country" => "US",
"Latitude" => "51.5074",
"Longitude" => "-0.1278",
"PageLength" => "1",
"PageOffset" => "1",
"PostalCode" => "example",
"SupportEMV" => "1",
"AddressLine1" => "example",
"AddressLine2" => "example",
"DistanceUnit" => "example",
"CountrySubdivision" => "example",
"InternationalMaestroAccepted" => "1"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/atm?" . http_build_query([
"City" => "London",
"Radius" => "1",
"Country" => "US",
"Latitude" => "51.5074",
"Longitude" => "-0.1278",
"PageLength" => "1",
"PageOffset" => "1",
"PostalCode" => "example",
"SupportEMV" => "1",
"AddressLine1" => "example",
"AddressLine2" => "example",
"DistanceUnit" => "example",
"CountrySubdivision" => "example",
"InternationalMaestroAccepted" => "1"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns country subdivisions that have ATM locations. A country subdivision is a segment within a country (ex state or province). Country subdivisions are only available for the US and Canada.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/countrysubdivision?Country=US"
import requests
params = {
"Country": "US"
}
response = requests.get(
"https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/countrysubdivision",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/countrysubdivision');
url.searchParams.set('Country', 'US');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/countrysubdivision")
q := baseURL.Query()
q.Set("Country", "US")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/countrysubdivision")
uri.query = URI.encode_www_form({
"Country" => "US"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/atms/v1/countrysubdivision?" . http_build_query([
"Country" => "US"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns countries that have Merchants offering the following services: accept contactless-enabled cards and devices, allow customers to add money to an eligible MasterCard or Maestro prepaid card, issue MasterCard Prepaid Travel cards, offer cash at checkout when paying with a Debit MasterCard or Ma
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/merchants/v1/country?details=example"
import requests
params = {
"details": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/merchants/v1/country",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/merchants/v1/country');
url.searchParams.set('details', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/merchants/v1/country")
q := baseURL.Query()
q.Set("details", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/merchants/v1/country")
uri.query = URI.encode_www_form({
"details" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/mastercard.com/Locations/1.0.0/merchants/v1/country?" . http_build_query([
"details" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Locations API?
Locations API is a Company API. Developers commonly use company APIs for:
- enriching CRM records with company firmographics
- building lead-generation and prospecting tools
- verifying business identity and registration details
- monitoring competitors and market intelligence
- powering B2B data enrichment pipelines
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Locations API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide