Listing Info API
Get Real-Time Business Info From Any Platform
Get a business listing as it appears right now on 100+ platforms: name, address, phone, website, photos, rating and review count.
The Listing Info API returns a business listing as it appears right now on any of 100+ platforms: name, address, phone, website, photos, categories, price range, rating and review count. The data comes back in the same response, with no background jobs or waiting.
Key facts
- Synchronous: results in the same call
- Detailed rating breakdown where the platform provides it (per criteria and distribution)
- Same standardized format on every platform
- 50 credits per listing
How it works
Up and running in three steps
-
1
Send the listing
Pass the platform and the listing's identifier. Use Listing Lookup to find it from a business name and address.
-
2
Get it back instantly
The listing's current details come back in the same response, with no background job to wait for.
-
3
Use one format everywhere
Every platform returns the same fields, so one integration covers them all.
Example
Request and response
curl --location 'https://api.zembra.io/listing/google?slug=my-listing-slug' \
--header 'Authorization: Bearer {token}'
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.zembra.io/listing/google?slug=my-listing-slug");
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/google?slug=my-listing-slug"
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/google?slug=my-listing-slug")
.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/google?slug=my-listing-slug", 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/google?slug=my-listing-slug', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
import requests
url = "https://api.zembra.io/listing/google?slug=my-listing-slug"
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/google?slug=my-listing-slug")
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": "Listing found on Google",
"data": {
"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 slug [not-a-real-listing-slug]"
}
{
"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
133 platforms, one format#
-
Google
-
Yelp
-
Facebook
-
Tripadvisor
-
Trustpilot
-
Booking
-
Expedia
-
Airbnb
-
Glassdoor
-
Indeed
-
G2
-
Capterra
-
App Store
-
Google Play
-
Open Table
-
Healthgrades
-
Zillow
-
Better Business Bureau
-
A Place for Mom
-
Abritel
-
Agoda
-
AliExpress
-
AlternativeTo
-
Angi
-
Apartment Guide
-
ApartmentRatings
-
Apartments.com
-
Apple Maps
-
Autotrader
-
Avvo
-
Best Buy
-
Bilbayt
-
Bing
-
Bol
-
Bookabach
- Car Dealer Reviews
-
Care.com
-
Carfax
-
CarGurus
-
Caring
-
Cars
-
Carvana
-
City Search
-
Civitatis
-
ClassPass
-
Clutch
-
Community Health Network
-
ConsumerAffairs
-
CreditKarma
-
Customer Lobby
-
DealerRater
-
Deliveroo
-
DesignMyNight
-
Doctor
-
DoorDash
-
eBay
-
Edmunds
-
Etsy
-
FertilityIQ
-
FeWo-Direkt
-
FindLaw
-
Flipkart
-
Foursquare
-
Gartner
-
GetYourGuide
-
Goibibo
-
Goodreads
-
Google Local Services Ads
-
GreatSchools
-
Grubhub
-
HolidayCheck
-
HomeAdvisor
-
HomeStars
-
Hotels
-
Houzz
-
Influenster
-
InsiderPages
-
Just Eat
-
JustDial
-
Kayak
-
Kelley Blue Book
-
Lawyers
-
LendingTree
-
Lieferando
-
MakeMyTrip
-
Martindale
-
Mindbody
-
Motability
-
Nextdoor
-
Niche
-
Orbitz
-
PagesJaunes
- PeerSpot
-
Postmates
-
Practo
-
Priceline
-
Product Hunt
-
Product Review
-
RateMDs
-
RealSelf
-
Rent
-
ResellerRatings
-
Reviews.io
-
Sitejabber
-
Smyths toys
-
Software Advice
-
Solv
-
Stayz
-
Steam
-
SuperMoney
-
Takeaway
-
Talabat
-
Target
-
The Knot
-
TheFork
-
Thuisbezorgd
-
Thumbtack
-
Travelocity
-
Treatwell
-
Trip
-
Trusted Shops
-
TrustRadius
-
UberEats
-
Vitals
-
Vrbo
-
Walmart
-
WebMD
-
WeddingWire
-
Yell
-
Yellow Pages
-
ZocDoc
-
Zomato
-
Zoover
- A Place for Mom
- Abritel
- Agoda
- Airbnb
- AliExpress
- AlternativeTo
- Angi
- Apartment Guide
- ApartmentRatings
- Apartments.com
- App Store
- Apple Maps
- Autotrader
- Avvo
- Best Buy
- Better Business Bureau
- Bilbayt
- Bing
- Bol
- Bookabach
- Booking
- Capterra
- Car Dealer Reviews
- Care.com
- Carfax
- CarGurus
- Caring
- Cars
- Carvana
- City Search
- Civitatis
- ClassPass
- Clutch
- Community Health Network
- ConsumerAffairs
- CreditKarma
- Customer Lobby
- DealerRater
- Deliveroo
- DesignMyNight
- Doctor
- DoorDash
- eBay
- Edmunds
- Etsy
- Expedia
- FertilityIQ
- FeWo-Direkt
- FindLaw
- Flipkart
- Foursquare
- G2
- Gartner
- GetYourGuide
- Glassdoor
- Goibibo
- Goodreads
- Google Local Services Ads
- Google Play
- GreatSchools
- Grubhub
- Healthgrades
- HolidayCheck
- HomeAdvisor
- HomeStars
- Hotels
- Houzz
- Indeed
- Influenster
- InsiderPages
- Just Eat
- JustDial
- Kayak
- Kelley Blue Book
- Lawyers
- LendingTree
- Lieferando
- MakeMyTrip
- Martindale
- Mindbody
- Motability
- Nextdoor
- Niche
- Open Table
- Orbitz
- PagesJaunes
- PeerSpot
- Postmates
- Practo
- Priceline
- Product Hunt
- Product Review
- RateMDs
- RealSelf
- Rent
- ResellerRatings
- Reviews.io
- Sitejabber
- Smyths toys
- Software Advice
- Solv
- Stayz
- Steam
- SuperMoney
- Takeaway
- Talabat
- Target
- The Knot
- TheFork
- Thuisbezorgd
- Thumbtack
- Travelocity
- Treatwell
- Trip
- Tripadvisor
- Trusted Shops
- Trustpilot
- TrustRadius
- UberEats
- Vitals
- Vrbo
- Walmart
- WebMD
- WeddingWire
- Yell
- Yellow Pages
- Yelp
- Zillow
- ZocDoc
- Zomato
- Zoover
Use cases
What teams build with it
Listing management
Check that names, addresses and phone numbers are consistent across platforms.
Data enrichment
Add ratings, review counts, photos and categories to your CRM or directory.
Rating widgets
Display a business's up-to-date rating from each platform.
FAQ
Common questions
Is the data live?
Yes. The listing is read when you call the API, not from an old cache.
Which fields are returned?
Name, address, phone, website, photos, categories, price range, global rating, review counts and, where the platform provides it, a detailed rating breakdown.
Can I test without spending credits?
Yes. The sandbox returns realistic dummy data and never touches your balance.
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 Info API and every other Zembra service.