Listing Lookup API
Find a Business on Every Platform in One Call
Find a business on every supported platform in one call, from just its name and address.
The Listing Lookup API takes a business name and an address, in any format, and searches all supported platforms at once. It returns each listing's identifier, ready to use with the Reviews and Listing Info APIs. Perfect for onboarding a new location without copying URLs by hand.
Key facts
- Match: the single best listing per platform; Find: up to 10 candidates per platform
- Search every platform enabled on your account, or pick the ones you need
- Synchronous: results in the same call
- Match from 60 credits per call, Find from 50 credits per call
How it works
Up and running in three steps
-
1
Send a name and an address
Any address format works. Optionally narrow the search to the platforms you need.
-
2
Choose Match or Find
Match returns the single best listing on each platform; Find returns up to 10 candidates per platform.
-
3
Use the results
Each result includes the listing's identifier, ready for the Reviews and Listing Info APIs.
Example
Request and response
curl --location 'https://api.zembra.io/listing/match?name=My%20Business&address=5621%20Main%20St%2C%20Mallorca%2C%20QC%2078128%2C%20US&street=5621%20Main%20St&city=Mallorca®ion=California%2C%20CA&postalCode=78128&country=US%2C%20USA%2C%20United%20States%2C%20etc.' \
--header 'Authorization: Bearer {token}'
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.zembra.io/listing/match?name=My Business&address=5621 Main St, Mallorca, QC 78128, US&street=5621 Main St&city=Mallorca®ion=California, CA&postalCode=78128&country=US, USA, United States, etc.");
request.Headers.Add("Authorization", "Bearer {token}");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.zembra.io/listing/match?name=My%20Business&address=5621%20Main%20St%2C%20Mallorca%2C%20QC%2078128%2C%20US&street=5621%20Main%20St&city=Mallorca®ion=California%2C%20CA&postalCode=78128&country=US%2C%20USA%2C%20United%20States%2C%20etc."
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer {token}")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.zembra.io/listing/match?name=My Business&address=5621 Main St, Mallorca, QC 78128, US&street=5621 Main St&city=Mallorca®ion=California, CA&postalCode=78128&country=US, USA, United States, etc.")
.method("GET", body)
.addHeader("Authorization", "Bearer {token}")
.build();
Response response = client.newCall(request).execute();
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {token}");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.zembra.io/listing/match?name=My Business&address=5621 Main St, Mallorca, QC 78128, US&street=5621 Main St&city=Mallorca®ion=California, CA&postalCode=78128&country=US, USA, United States, etc.", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$client = new Client();
$headers = [
'Authorization' => 'Bearer {token}'
];
$request = new Request('GET', 'https://api.zembra.io/listing/match?name=My Business&address=5621 Main St, Mallorca, QC 78128, US&street=5621 Main St&city=Mallorca®ion=California, CA&postalCode=78128&country=US, USA, United States, etc.', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
import requests
url = "https://api.zembra.io/listing/match?name=My Business&address=5621 Main St, Mallorca, QC 78128, US&street=5621 Main St&city=Mallorca®ion=California, CA&postalCode=78128&country=US, USA, United States, etc."
payload = {}
headers = {
'Authorization': 'Bearer {token}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://api.zembra.io/listing/match?name=My Business&address=5621 Main St, Mallorca, QC 78128, US&street=5621 Main St&city=Mallorca®ion=California, CA&postalCode=78128&country=US, USA, United States, etc.")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer {token}"
response = https.request(request)
puts response.read_body
Response
{
"message": "Found listing on Google and Yelp",
"data": {
"google": {
"address": {
"street": "5621 Main St",
"city": "Mallorca",
"region": "QC",
"postalCode": "78128",
"country": "US"
},
"aliases": [
"my-listing-1",
"my-first-listing"
],
"categories": [
"Restaurant",
"Fast Food"
],
"formattedAddress": "5621 Main St, Mallorca, QC 78128, US",
"globalRating": 4.5,
"id": "ChIJV9OJxsOq3oARnyGzSXY0ym8",
"lastCrawled": "2023-01-01T00:00:00Z",
"lastUpdated": "2023-01-01T00:00:00Z",
"link": "https://my.zembratech.com/dashboard/review-page/insights/MWJmZTc5MDZjMzg5OGI3OGMyNjJiODNjOGJjMWI3Y2Q",
"name": "My Google Business",
"network": "google",
"phone": "(210) 456-0987",
"photos": [
"https://media2.trover.com/T/5a5eae0184b8636d6b0385f0/fixedw-1.jpg",
"https://media2.trover.com/T/5a5eae0184b8636d6b0385f0/fixedw-2.jpg"
],
"priceRange": "$$$",
"profileImage": "https://media2.trover.com/T/5a5eae0184b8636d6b0385f0/fixedw.jpg",
"ratingBreakdown": {
"overall": 8.4,
"perCriteria": [
{
"criteria": "Overall",
"rating": 8.4
},
{
"criteria": "Cleanliness",
"rating": 8.9
},
{
"criteria": "Facilities",
"rating": 8.3
},
{
"criteria": "Location",
"rating": 8.7
},
{
"criteria": "Service",
"rating": 8.7
},
{
"criteria": "Value for money",
"rating": 8.2
}
],
"ratingDistribution": [
{
"rating": "9+ Exceptional",
"count": 135
},
{
"rating": "8-9 Excellent",
"count": 66
},
{
"rating": "7-8 Very Good",
"count": 32
},
{
"rating": "6-7 Good",
"count": 24
},
{
"rating": "<6 Below Expectation",
"count": 11
}
]
},
"rawData": [],
"reviewCount": {
"native": {
"total": 6320,
"active": 5986,
"hidden": 334
},
"available": {
"total": 6320,
"active": 5986,
"hidden": 334
}
},
"slug": "my-listing-slug",
"url": "https://maps.google.com/?cid=16256511492469774330",
"website": "https://my-business.com"
},
"yelp": {
"address": {
"street": "5621 Main St",
"city": "Mallorca",
"region": "QC",
"postalCode": "78128",
"country": "US"
},
"aliases": [
"my-listing-1",
"my-first-listing"
],
"categories": [
"Restaurant",
"Fast Food"
],
"formattedAddress": "5621 Main St, Mallorca, QC 78128, US",
"globalRating": 4.5,
"id": "ChIJV9OJxsOq3oARnyGzSXY0ym8",
"lastCrawled": "2023-01-01T00:00:00Z",
"lastUpdated": "2023-01-01T00:00:00Z",
"link": "https://my.zembratech.com/dashboard/review-page/insights/MWJmZTc5MDZjMzg5OGI3OGMyNjJiODNjOGJjMWI3Y2Q",
"name": "My Google Business",
"network": "google",
"phone": "(210) 456-0987",
"photos": [
"https://media2.trover.com/T/5a5eae0184b8636d6b0385f0/fixedw-1.jpg",
"https://media2.trover.com/T/5a5eae0184b8636d6b0385f0/fixedw-2.jpg"
],
"priceRange": "$$$",
"profileImage": "https://media2.trover.com/T/5a5eae0184b8636d6b0385f0/fixedw.jpg",
"ratingBreakdown": {
"overall": 8.4,
"perCriteria": [
{
"criteria": "Overall",
"rating": 8.4
},
{
"criteria": "Cleanliness",
"rating": 8.9
},
{
"criteria": "Facilities",
"rating": 8.3
},
{
"criteria": "Location",
"rating": 8.7
},
{
"criteria": "Service",
"rating": 8.7
},
{
"criteria": "Value for money",
"rating": 8.2
}
],
"ratingDistribution": [
{
"rating": "9+ Exceptional",
"count": 135
},
{
"rating": "8-9 Excellent",
"count": 66
},
{
"rating": "7-8 Very Good",
"count": 32
},
{
"rating": "6-7 Good",
"count": 24
},
{
"rating": "<6 Below Expectation",
"count": 11
}
]
},
"rawData": [],
"reviewCount": {
"native": {
"total": 6320,
"active": 5986,
"hidden": 334
},
"available": {
"total": 6320,
"active": 5986,
"hidden": 334
}
},
"slug": "my-listing-slug",
"url": "https://maps.google.com/?cid=16256511492469774330",
"website": "https://my-business.com"
}
}
}
{
"message": "Invalid parameter [networks]: must be an array or omitted"
}
{
"message": "Invalid bearer token"
}
{
"message": "Cannot process request: balance too low!"
}
{
"message": "Requested network [Facebook] is not enabled for your account"
}
{
"message": "Listing not found. Maybe not a valid business."
}
Supported platforms
115 platforms, one format#
-
Google
-
Yelp
-
Facebook
-
Tripadvisor
-
Trustpilot
-
Booking
-
Expedia
-
Airbnb
-
Glassdoor
-
Indeed
-
G2
-
App Store
-
Google Play
-
Open Table
-
Healthgrades
-
Zillow
-
Better Business Bureau
-
A Place for Mom
-
Abritel
-
Agoda
-
AliExpress
-
AlternativeTo
-
Apartment Guide
-
ApartmentRatings
-
Apartments.com
-
Avvo
-
Best Buy
-
Bilbayt
-
Bing
-
Bol
-
Bookabach
- Car Dealer Reviews
-
Care.com
-
CarGurus
-
Cars
-
City Search
-
Civitatis
-
ClassPass
-
Clutch
-
Community Health Network
-
ConsumerAffairs
-
CreditKarma
-
DealerRater
-
DesignMyNight
-
Doctor
-
DoorDash
-
eBay
-
Edmunds
-
FertilityIQ
-
FeWo-Direkt
-
FindLaw
-
Flipkart
-
Foursquare
-
Gartner
-
GetYourGuide
-
Goibibo
-
Goodreads
-
Google Local Services Ads
-
GreatSchools
-
Grubhub
-
HolidayCheck
-
Hotels
-
Houzz
-
Influenster
-
InsiderPages
-
Just Eat
-
JustDial
-
Kayak
-
Lawyers
-
LendingTree
-
Lieferando
-
MakeMyTrip
-
Martindale
-
Mindbody
-
Motability
-
Niche
-
Orbitz
- PeerSpot
-
Postmates
-
Practo
-
Priceline
-
Product Hunt
-
Product Review
-
RateMDs
-
RealSelf
-
Rent
-
ResellerRatings
-
Reviews.io
-
Sitejabber
-
Smyths toys
-
Software Advice
-
Solv
-
Stayz
-
Steam
-
SuperMoney
-
Takeaway
-
Target
-
The Knot
-
TheFork
-
Thuisbezorgd
-
Travelocity
-
Treatwell
-
Trip
-
Trusted Shops
-
TrustRadius
-
UberEats
-
Vitals
-
Vrbo
-
Walmart
-
WebMD
-
WeddingWire
-
Yell
-
Yellow Pages
-
ZocDoc
-
Zoover
- A Place for Mom
- Abritel
- Agoda
- Airbnb
- AliExpress
- AlternativeTo
- Apartment Guide
- ApartmentRatings
- Apartments.com
- App Store
- Avvo
- Best Buy
- Better Business Bureau
- Bilbayt
- Bing
- Bol
- Bookabach
- Booking
- Car Dealer Reviews
- Care.com
- CarGurus
- Cars
- City Search
- Civitatis
- ClassPass
- Clutch
- Community Health Network
- ConsumerAffairs
- CreditKarma
- DealerRater
- DesignMyNight
- Doctor
- DoorDash
- eBay
- Edmunds
- Expedia
- FertilityIQ
- FeWo-Direkt
- FindLaw
- Flipkart
- Foursquare
- G2
- Gartner
- GetYourGuide
- Glassdoor
- Goibibo
- Goodreads
- Google Local Services Ads
- Google Play
- GreatSchools
- Grubhub
- Healthgrades
- HolidayCheck
- Hotels
- Houzz
- Indeed
- Influenster
- InsiderPages
- Just Eat
- JustDial
- Kayak
- Lawyers
- LendingTree
- Lieferando
- MakeMyTrip
- Martindale
- Mindbody
- Motability
- Niche
- Open Table
- Orbitz
- PeerSpot
- Postmates
- Practo
- Priceline
- Product Hunt
- Product Review
- RateMDs
- RealSelf
- Rent
- ResellerRatings
- Reviews.io
- Sitejabber
- Smyths toys
- Software Advice
- Solv
- Stayz
- Steam
- SuperMoney
- Takeaway
- Target
- The Knot
- TheFork
- Thuisbezorgd
- Travelocity
- Treatwell
- Trip
- Tripadvisor
- Trusted Shops
- Trustpilot
- TrustRadius
- UberEats
- Vitals
- Vrbo
- Walmart
- WebMD
- WeddingWire
- Yell
- Yellow Pages
- Yelp
- Zillow
- ZocDoc
- Zoover
Use cases
What teams build with it
Customer onboarding
Connect a new client's locations to every platform without copying URLs by hand.
Presence audits
See on which platforms a business is listed, and where it is missing.
Bulk imports
Match thousands of locations with batch requests.
FAQ
Common questions
What's the difference between Match and Find?
Match picks the most likely listing on each platform for you. Find returns up to 10 candidates per platform so you can choose.
How many platforms can I search at once?
All the platforms enabled on your account, in a single call.
Is it synchronous?
Yes. Results come back in the same response.
Pay only for what you use
Every Zembra service is paid with the same credits, and the more you use, the less each credit costs.
Start today for free
Create an account and get 10,000 free credits to try the Listing Lookup API and every other Zembra service.