DataForSEO Business Reviews & Profiles
What are customers saying about this location, and how does its Google profile compare with the shops next door? Pull Google Business Profile details, Google reviews and reviews from other platforms, profile posts and Q&A, then search business listings by category and area to benchmark competitors.
Connect this API to an AI agent Browse all specs
What you can do with DataForSEO Business Reviews & Profiles via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /v3/business_data/google/locations/{country} |
listLocations | List location names and codes for one country |
| POST | /v3/business_data/google/my_business_info/live |
getBusinessProfileLive | Get a business's Google profile: rating, hours, address, categories |
| POST | /v3/business_data/google/reviews/task_post |
createReviewsTask | Queue a fetch of a business's Google reviews |
| GET | /v3/business_data/google/reviews/tasks_ready |
listReadyReviewTasks | List finished Google review fetches not yet collected |
| GET | /v3/business_data/google/reviews/task_get/{id} |
getReviews | Get the Google reviews collected by a review task |
| POST | /v3/business_data/google/extended_reviews/task_post |
createExtendedReviewsTask | Queue a fetch of reviews from Google and other review sites |
| GET | /v3/business_data/google/extended_reviews/task_get/{id} |
getExtendedReviews | Get reviews from Google and other sites for a task |
| POST | /v3/business_data/google/my_business_updates/task_post |
createProfileUpdatesTask | Queue a fetch of the posts a business published on its profile |
| GET | /v3/business_data/google/my_business_updates/task_get/{id} |
getProfileUpdates | Get the profile posts collected by a task |
| POST | /v3/business_data/google/questions_and_answers/live |
getQuestionsAndAnswersLive | Get the questions and answers on a business's Google profile |
| POST | /v3/business_data/business_listings/search/live |
searchBusinessListings | Search businesses by category, area, rating and other filters |
| GET | /v3/business_data/business_listings/categories |
listListingCategories | List business categories you can search listings by |
Authentication
basicAuth
HTTP Basic
DataForSEO uses HTTP basic auth with your API login and API password (not your dashboard password).
How to get a credential
- Sign up at https://app.dataforseo.com/register (pay-as-you-go; new accounts get trial credit).
- Open API Access in the dashboard (https://app.dataforseo.com/api-access).
- Copy the API login (your email) and the API password shown there.
Permissions used
DataForSEO has no scopes: every task and live call is billed from your balance.
| Access | Operations |
|---|---|
| Billed tasks / live calls | getBusinessProfileLive, createReviewsTask, createExtendedReviewsTask, createProfileUpdatesTask, getQuestionsAndAnswersLive, searchBusinessListings |
| Results of your own tasks | listReadyReviewTasks, getReviews, getExtendedReviews, getProfileUpdates |
| Free lookups | listLocations, listListingCategories |
Common errors
DataForSEO answers HTTP 200 and puts the real result in status_code (20000 = ok) inside the body and each task.
| Code | Meaning | Fix |
|---|---|---|
| 401 / 40100 | Wrong login or API password | Copy both again from API Access. |
| 40200 / 40210 | Balance too low | Top up the account balance. |
| 40203 | Daily cost limit reached | Raise the limit under API Settings in the dashboard. |
| 40501 / 40503 | Invalid field or location | Use location_name from listLocations; send keyword as the business name or cid:<id> / place_id:<id>. |
| 40202 | Per-minute rate limit exceeded | Slow down and retry. |
Store the login and API password as a VX Agents basic-auth credential.
Usage guide
Setup
Add your DataForSEO API login and API password (dashboard > API Access) as a basic-auth credential. Every task and live call is billed from your balance; set a daily cost limit under API Settings. Worth pinning: the location_name you usually work in (e.g. London,England,United Kingdom) and language_name English.
Check a business's reputation
- If unsure of the location string, call
listLocationswith a lowercase ISOcountrycode (e.g.us) and copylocation_name. getBusinessProfileLivewith[{"keyword": "<business name, city>", "location_name": "...", "language_name": "English"}]returns rating, hours, address,cidandplace_id.- Confirm the cost, then
createReviewsTaskwith[{"cid": "<cid>", "location_name": "...", "language_name": "English", "depth": 50, "sort_by": "newest"}]. Keep the taskid. - Poll
listReadyReviewTasks(or wait a minute), thengetReviewswith theid: each item has rating, text, time, the owner's answer and the reviewer. - For reviews from other sites (TripAdvisor, Yelp, Trustpilot and more, where available), use
createExtendedReviewsTaskandgetExtendedReviewsthe same way. getQuestionsAndAnswersLivelists the questions people asked on the profile;createProfileUpdatesTask+getProfileUpdatesreturn the posts the owner published.- Summarise rating, negative-review themes and unanswered items.
Benchmark competitors
listListingCategoriesgives valid category names (e.g.pizza_restaurant).searchBusinessListingswith[{"categories": ["spa"], "location_coordinate": "51.5074,-0.1278,5", "order_by": ["rating.value,desc"], "limit": 20}]returns nearby businesses with rating, votes and claim status.filterstake up to 8 conditions, e.g.[["rating.votes_count", ">", 50]].
Good to know
- Every POST body is a JSON array of task objects; results are under
tasks[0].result. Checkstatus_code20000 in the body, not just HTTP 200. - Identify a business by
cidorplace_idwhen you have them; akeywordmust be the business name and is matched on Google. - Set
depthin multiples of 10 (20 for extended reviews): reviews are fetched and billed in those blocks. Start small and confirm with the user before large fetches. getReviewsandgetExtendedReviewsonly return data for task ids you created.
Source: DataForSEO Business Data API reference (https://docs.dataforseo.com/v3/business_data/overview/), checked 2026-10-23.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “DataForSEO Business Reviews & Profiles” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.