Skip to content

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)

EndpointMethodDescription
/v3/business_data/business_listings/search/livePOSTSearch NAP database by keyword and location
/v3/business_data/business_listings/categoriesGETAll available business categories

Google — My Business Info (4 endpoints)

EndpointMethodDescription
/v3/business_data/google/my_business_info/task_postPOSTQueue GMB info task (async)
/v3/business_data/google/my_business_info/tasks_readyGETGet completed GMB tasks
/v3/business_data/google/my_business_info/task_get/{id}GETRetrieve GMB listing data
/v3/business_data/google/my_business_info/livePOSTLive GMB info — instant results

Google — My Business Updates (3 endpoints)

EndpointMethodDescription
/v3/business_data/google/my_business_updates/task_postPOSTQueue GMB posts/updates task
/v3/business_data/google/my_business_updates/tasks_readyGETGet completed update tasks
/v3/business_data/google/my_business_updates/task_get/{id}GETRetrieve GMB posts/updates

Google — Reviews (3 endpoints)

EndpointMethodDescription
/v3/business_data/google/reviews/task_postPOSTQueue Google reviews task
/v3/business_data/google/reviews/tasks_readyGETGet completed review tasks
/v3/business_data/google/reviews/task_get/{id}GETRetrieve Google reviews

Google — Extended Reviews (3 endpoints)

EndpointMethodDescription
/v3/business_data/google/extended_reviews/task_postPOSTExtended review data with photos and owner responses
/v3/business_data/google/extended_reviews/tasks_readyGETGet completed extended review tasks
/v3/business_data/google/extended_reviews/task_get/{id}GETRetrieve extended review data

Google — Questions and Answers (4 endpoints)

EndpointMethodDescription
/v3/business_data/google/questions_and_answers/task_postPOSTQueue Q&A data task
/v3/business_data/google/questions_and_answers/tasks_readyGETGet completed Q&A tasks
/v3/business_data/google/questions_and_answers/tasks_fixedGETRe-parsed Q&A tasks
/v3/business_data/google/questions_and_answers/task_get/{id}GETRetrieve Q&A data

Google Hotels (10 endpoints — 2 sub-groups)

EndpointMethodDescription
/v3/business_data/google/hotels/hotel_searches/task_postPOSTQueue hotel search task
/v3/business_data/google/hotels/hotel_searches/tasks_readyGETGet completed hotel searches
/v3/business_data/google/hotels/hotel_searches/task_get/{id}GETRetrieve hotel search results
/v3/business_data/google/hotels/hotel_searches/livePOSTLive hotel search
/v3/business_data/google/hotels/hotel_info/task_postPOSTQueue hotel detail task
/v3/business_data/google/hotels/hotel_info/tasks_readyGETGet completed hotel info tasks
/v3/business_data/google/hotels/hotel_info/task_get/{id}GETRetrieve hotel details

Trustpilot (6 endpoints)

EndpointMethodDescription
/v3/business_data/trustpilot/search/task_postPOSTSearch for a company on Trustpilot
/v3/business_data/trustpilot/search/tasks_readyGETGet completed search tasks
/v3/business_data/trustpilot/search/task_get/{id}GETRetrieve Trustpilot search results
/v3/business_data/trustpilot/reviews/task_postPOSTQueue reviews task
/v3/business_data/trustpilot/reviews/tasks_readyGETGet completed review tasks
/v3/business_data/trustpilot/reviews/task_get/{id}GETRetrieve reviews with trust score

Tripadvisor (6 endpoints)

EndpointMethodDescription
/v3/business_data/tripadvisor/search/task_postPOSTSearch for a business on Tripadvisor
/v3/business_data/tripadvisor/search/tasks_readyGETGet completed search tasks
/v3/business_data/tripadvisor/search/task_get/{id}GETRetrieve Tripadvisor search results
/v3/business_data/tripadvisor/reviews/task_postPOSTQueue reviews task
/v3/business_data/tripadvisor/reviews/tasks_readyGETGet completed review tasks
/v3/business_data/tripadvisor/reviews/task_get/{id}GETRetrieve reviews with ratings

Social Media (2 endpoints)

EndpointMethodDescription
/v3/business_data/social_media/pinterest/livePOSTPinterest page data
/v3/business_data/social_media/reddit/livePOSTReddit mentions and posts

Supported Data Sources

PlatformData available
GoogleBusiness reviews, ratings, Q&A, business info, hotel data, GMB updates
TrustpilotCompany reviews, trust scores, review metadata
TripadvisorLocation reviews, ratings, traveler data
Social MediaPinterest and Reddit data
Business ListingsDataForSEO 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:

  1. POST your task(s) to the appropriate endpoint
  2. Either specify pingback_url or postback_url to receive automatic notifications/results
  3. Or poll the 'Tasks Ready' endpoint to get IDs of completed tasks
  4. 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_url field (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_url for high-volume review pulls to avoid polling overhead.

Internal SOP reference — not affiliated with DataForSEO.