Appearance
Business Data API Fresh
Business Data API provides publicly available business reviews, ratings, and business information scraped from major consumer platforms. Use it for reputation monitoring, review aggregation, local business intelligence, and business listing data at scale.
All Endpoints (43 total)
Business Listings (2 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/business_listings/search/live | POST | Search NAP database by keyword and location |
/v3/business_data/business_listings/categories | GET | All available business categories |
Google — My Business Info (4 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/google/my_business_info/task_post | POST | Queue GMB info task (async) |
/v3/business_data/google/my_business_info/tasks_ready | GET | Get completed GMB tasks |
/v3/business_data/google/my_business_info/task_get/{id} | GET | Retrieve GMB listing data |
/v3/business_data/google/my_business_info/live | POST | Live GMB info — instant results |
Google — My Business Updates (3 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/google/my_business_updates/task_post | POST | Queue GMB posts/updates task |
/v3/business_data/google/my_business_updates/tasks_ready | GET | Get completed update tasks |
/v3/business_data/google/my_business_updates/task_get/{id} | GET | Retrieve GMB posts/updates |
Google — Reviews (3 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/google/reviews/task_post | POST | Queue Google reviews task |
/v3/business_data/google/reviews/tasks_ready | GET | Get completed review tasks |
/v3/business_data/google/reviews/task_get/{id} | GET | Retrieve Google reviews |
Google — Extended Reviews (3 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/google/extended_reviews/task_post | POST | Extended review data with photos and owner responses |
/v3/business_data/google/extended_reviews/tasks_ready | GET | Get completed extended review tasks |
/v3/business_data/google/extended_reviews/task_get/{id} | GET | Retrieve extended review data |
Google — Questions and Answers (4 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/google/questions_and_answers/task_post | POST | Queue Q&A data task |
/v3/business_data/google/questions_and_answers/tasks_ready | GET | Get completed Q&A tasks |
/v3/business_data/google/questions_and_answers/tasks_fixed | GET | Re-parsed Q&A tasks |
/v3/business_data/google/questions_and_answers/task_get/{id} | GET | Retrieve Q&A data |
Google Hotels (10 endpoints — 2 sub-groups)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/google/hotels/hotel_searches/task_post | POST | Queue hotel search task |
/v3/business_data/google/hotels/hotel_searches/tasks_ready | GET | Get completed hotel searches |
/v3/business_data/google/hotels/hotel_searches/task_get/{id} | GET | Retrieve hotel search results |
/v3/business_data/google/hotels/hotel_searches/live | POST | Live hotel search |
/v3/business_data/google/hotels/hotel_info/task_post | POST | Queue hotel detail task |
/v3/business_data/google/hotels/hotel_info/tasks_ready | GET | Get completed hotel info tasks |
/v3/business_data/google/hotels/hotel_info/task_get/{id} | GET | Retrieve hotel details |
Trustpilot (6 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/trustpilot/search/task_post | POST | Search for a company on Trustpilot |
/v3/business_data/trustpilot/search/tasks_ready | GET | Get completed search tasks |
/v3/business_data/trustpilot/search/task_get/{id} | GET | Retrieve Trustpilot search results |
/v3/business_data/trustpilot/reviews/task_post | POST | Queue reviews task |
/v3/business_data/trustpilot/reviews/tasks_ready | GET | Get completed review tasks |
/v3/business_data/trustpilot/reviews/task_get/{id} | GET | Retrieve reviews with trust score |
Tripadvisor (6 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/tripadvisor/search/task_post | POST | Search for a business on Tripadvisor |
/v3/business_data/tripadvisor/search/tasks_ready | GET | Get completed search tasks |
/v3/business_data/tripadvisor/search/task_get/{id} | GET | Retrieve Tripadvisor search results |
/v3/business_data/tripadvisor/reviews/task_post | POST | Queue reviews task |
/v3/business_data/tripadvisor/reviews/tasks_ready | GET | Get completed review tasks |
/v3/business_data/tripadvisor/reviews/task_get/{id} | GET | Retrieve reviews with ratings |
Social Media (2 endpoints)
| Endpoint | Method | Description |
|---|---|---|
/v3/business_data/social_media/pinterest/live | POST | Pinterest page data |
/v3/business_data/social_media/reddit/live | POST | Reddit mentions and posts |
Supported Data Sources
| Platform | Data available |
|---|---|
| Business reviews, ratings, Q&A, business info, hotel data, GMB updates | |
| Trustpilot | Company reviews, trust scores, review metadata |
| Tripadvisor | Location reviews, ratings, traveler data |
| Social Media | Pinterest and Reddit data |
| Business Listings | DataForSEO Business Listings Database (NAP data, business categories, location data) |
DataForSEO continues to add new data sources to this API.
Methods
Business Data API supports both Live and Standard methods, depending on the data source and endpoint.
Live method — Returns instant results in a single POST request. No separate GET required. Best for real-time lookups of specific businesses.
Standard method — Asynchronous: POST to create a task, GET to retrieve results. More affordable for bulk data collection.
Task Completion (Standard Method)
When using the Standard method:
- POST your task(s) to the appropriate endpoint
- Either specify
pingback_urlorpostback_urlto receive automatic notifications/results - Or poll the 'Tasks Ready' endpoint to get IDs of completed tasks
- Retrieve results using the 'Task GET' endpoint
Google Business Data
Google Reviews
POST https://api.dataforseo.com/v3/business_data/google/reviews/task_post
Pull all reviews for a specific business from Google. Returns review text, rating, reviewer name, date, and owner responses.
bash
curl --request POST \
--url https://api.dataforseo.com/v3/business_data/google/reviews/task_post \
--header 'Authorization: Basic BASE64(login:password)' \
--header 'Content-Type: application/json' \
--data '[
{
"keyword": "Joe'\''s Pizza New York",
"location_code": 2840,
"language_code": "en",
"depth": 100
}
]'Google My Business Info
Pull NAP data, hours, categories, website, and other structured business info from a Google Business Profile.
Trustpilot Data
POST https://api.dataforseo.com/v3/business_data/trustpilot/reviews/task_post
Returns Trustpilot reviews for a company domain, including trust score, review text, rating, and date.
bash
curl --request POST \
--url https://api.dataforseo.com/v3/business_data/trustpilot/reviews/task_post \
--header 'Authorization: Basic BASE64(login:password)' \
--header 'Content-Type: application/json' \
--data '[
{
"target": "airbnb.com",
"depth": 50,
"sort_by": "recency"
}
]'Tripadvisor Data
Returns reviews and ratings for hotels, restaurants, and attractions from Tripadvisor, including traveler type breakdowns and category scores.
Business Listings
The Business Listings endpoints connect to DataForSEO's proprietary business listings database — a structured source of NAP (Name, Address, Phone) data and business attributes across millions of businesses.
POST https://api.dataforseo.com/v3/business_data/business_listings/search/live
Search for business listings by keyword, location, or category. Returns structured business data including address, phone, website, category tags, and data quality indicators.
bash
curl --request POST \
--url https://api.dataforseo.com/v3/business_data/business_listings/search/live \
--header 'Authorization: Basic BASE64(login:password)' \
--header 'Content-Type: application/json' \
--data '[
{
"keyword": "roofing contractor",
"location_code": 2840,
"language_code": "en",
"limit": 20,
"filters": [["rating.value", ">", 4.0]]
}
]'Python Example — Review Aggregation Pipeline
python
import requests
from requests.auth import HTTPBasicAuth
import json
import time
LOGIN = "your_login"
PASSWORD = "your_password"
auth = HTTPBasicAuth(LOGIN, PASSWORD)
headers = {"Content-Type": "application/json"}
def post_google_reviews_task(business_name, location_code=2840, language_code="en", depth=100):
payload = [{
"keyword": business_name,
"location_code": location_code,
"language_code": language_code,
"depth": depth
}]
r = requests.post(
"https://api.dataforseo.com/v3/business_data/google/reviews/task_post",
auth=auth,
headers=headers,
data=json.dumps(payload)
)
return r.json()["tasks"][0]["id"]
def get_task_results(task_id, source="google", data_type="reviews"):
r = requests.get(
f"https://api.dataforseo.com/v3/business_data/{source}/{data_type}/task_get/{task_id}",
auth=auth,
headers=headers
)
return r.json()
def get_trustpilot_reviews(domain, depth=50):
payload = [{
"target": domain,
"depth": depth,
"sort_by": "recency"
}]
r = requests.post(
"https://api.dataforseo.com/v3/business_data/trustpilot/reviews/task_post",
auth=auth,
headers=headers,
data=json.dumps(payload)
)
return r.json()["tasks"][0]["id"]
def search_business_listings(keyword, location_code=2840, min_rating=None):
filters = []
if min_rating:
filters.append(["rating.value", ">", min_rating])
payload = [{
"keyword": keyword,
"location_code": location_code,
"language_code": "en",
"limit": 100,
"filters": filters if filters else None
}]
# Business Listings Search has a Live endpoint
r = requests.post(
"https://api.dataforseo.com/v3/business_data/business_listings/search/live",
auth=auth,
headers=headers,
data=json.dumps(payload)
)
return r.json()
# Example: Pull competitor reviews for analysis
competitors = ["Competitor A Plumbing Phoenix", "Competitor B Plumbing Phoenix"]
task_ids = {}
for competitor in competitors:
task_id = post_google_reviews_task(competitor, location_code=2840)
task_ids[task_id] = competitor
print(f"Task created for {competitor}: {task_id}")
# Wait for tasks to complete
time.sleep(30)
# Retrieve and analyze
for task_id, competitor in task_ids.items():
data = get_task_results(task_id, "google", "reviews")
try:
result = data["tasks"][0]["result"][0]
print(f"\n{competitor}")
print(f" Overall rating: {result.get('rating', 'N/A')}")
print(f" Total reviews: {result.get('reviews_count', 'N/A')}")
items = result.get("items", [])[:3]
for review in items:
print(f" [{review.get('rating', '?')}/5] {review.get('review_text', '')[:100]}...")
except (KeyError, IndexError):
print(f" No results for {competitor}")Rate Limits
- Up to 2,000 API calls per minute
- Standard method tasks can batch up to 100 tasks per POST
Notes
- All data returned is publicly available — no private review access.
- Results reflect the platform's current public-facing data at the time of retrieval.
- The
check_urlfield (where available) lets you verify results directly in a browser. - Business Listings endpoints use Live method and return instant results.
- Google, Trustpilot, and Tripadvisor review endpoints use Standard method — plan for processing time in your pipeline.
- Use
postback_urlfor high-volume review pulls to avoid polling overhead.