MATCH API
mastercard · Company
Helps acquirers identify potentially high-risk merchants before entering to a merchant agreement.
Authentication
Sample Requests
Returns information about Merchants, URLs and up to five principal owners, that have been terminated by an acquiring bank from a previous inquiry. The Inquiry History Results resource displays the inquiry with the option to view either; Possible Merchant Matches or Possible Inquiry Matches.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry/{IRN}?AcquirerId=example&PageLength=1&PageOffset=1"import requests
params = {
"AcquirerId": "example",
"PageLength": "1",
"PageOffset": "1"
}
response = requests.get(
"https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry/{IRN}",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry/{IRN}');
url.searchParams.set('AcquirerId', 'example');
url.searchParams.set('PageLength', '1');
url.searchParams.set('PageOffset', '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/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry/{IRN}")
q := baseURL.Query()
q.Set("AcquirerId", "example")
q.Set("PageLength", "1")
q.Set("PageOffset", "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/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry/{IRN}")
uri.query = URI.encode_www_form({
"AcquirerId" => "example",
"PageLength" => "1",
"PageOffset" => "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/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry/{IRN}?" . http_build_query([
"AcquirerId" => "example",
"PageLength" => "1",
"PageOffset" => "1"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns information on merchants that have been terminated and merchants which have been inquired upon. MATCH can provide the acquiring bank with information, such as, if a Merchant or individual has been terminated by another acquirer already, the reason for termination, the history of fraudulent o
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry?PageLength=1&PageOffset=1"
import requests
params = {
"PageLength": "1",
"PageOffset": "1"
}
response = requests.post(
"https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry');
url.searchParams.set('PageLength', '1');
url.searchParams.set('PageOffset', '1');
const response = await fetch(url, {
method: 'POST',
});
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/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry")
q := baseURL.Query()
q.Set("PageLength", "1")
q.Set("PageOffset", "1")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", 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/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry")
uri.query = URI.encode_www_form({
"PageLength" => "1",
"PageOffset" => "1"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/termination-inquiry?" . http_build_query([
"PageLength" => "1",
"PageOffset" => "1"
]);
$opts = ["http" => [
"method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns detailed information about Merchants, URLs and up to five principal owners, that have been terminated by an acquiring bank after the inquiry was made. This MATCH resource assists acquirer's ability to consider the merchants terminated after the inquiry was made. If an initial inquiry does n
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/retro/retro-inquiry-details?AcquirerId=example"
import requests
params = {
"AcquirerId": "example"
}
response = requests.post(
"https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/retro/retro-inquiry-details",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/retro/retro-inquiry-details');
url.searchParams.set('AcquirerId', 'example');
const response = await fetch(url, {
method: 'POST',
});
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/MATCH/1.0.0/fraud/merchant/v3/retro/retro-inquiry-details")
q := baseURL.Query()
q.Set("AcquirerId", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", 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/MATCH/1.0.0/fraud/merchant/v3/retro/retro-inquiry-details")
uri.query = URI.encode_www_form({
"AcquirerId" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/mastercard.com/MATCH/1.0.0/fraud/merchant/v3/retro/retro-inquiry-details?" . http_build_query([
"AcquirerId" => "example"
]);
$opts = ["http" => [
"method" => "POST",
]];
$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 MATCH API?
MATCH 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. MATCH API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide