Skip to content

Get reviews

We only collect data that are present on the website. The information collected varies from website to website. If the information is not found, the value is set to None.

It is expected that the number of indexed reviews does not match the total reviews count. Total reviews count reported on the website includes all historical data, whereas our indexer has limitations in fetching historical data. If you are interested in collecting all historical data, please reach out to us.

The more company specifying parameters you provide, the better results you will receive in return.

You can filter results by location using our location parameters.

We charge 1 credit for each request that results in NoLocation error. Meaning that the company you submitted has no review profiles available.

Base URL

GET https://reviewindexapi.datashake.com/reviews

Request parameters

callback *

string An URL to receive API results.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
name *

string Name of the company you want the reviews for.

Make sure to use official company names (e.g., Chipotle Mexican Grill instead of Chipotle)

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "name": "Five Guys"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
domain

string Domain of the company or product you want the reviews for.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&domain=fiveguys.com&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "name": "Five Guys",
    "domain": "fiveguys.com"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
ticker_symbol

string Company ticker symbol (also known as stock symbol) you want the reviews for.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=McDonalds&ticker_symbol=MCD&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "McDonalds",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "ticker_symbol": "MCD"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
phone_number

string Location phone number you want the reviews for.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&phone_number=%2B1718-797-9380&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "phone_number": "+1718-797-9380"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
street

string Street where the company you want the reviews for is located.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&street=Cedar%20Hills%20Bvld&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "street": "Cedar Hills Bvld"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
city

string City where the company you want the reviews for is located.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&city=Beaverton&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "city": "New York"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
zip_code

string ZIP Code of the company you want the reviews for.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&zip_code=97005&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "zip_code": "97005"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
state

string State where the company you want the reviews for is located.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&state=Oregon&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "state": "Oregon"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
country

string Country where the company you want the reviews for is located.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&country=United%20States&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "country": "United States"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
address

string Full address of the company you want the reviews for.

This will take precedence over the other location parameters.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&address=2606%20Cedar%20Hills%20Blvd%20%2C%20Beaverton%2C%20Oregon%2C%2097005%2C%20United%20States&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "address": "2606 Cedar Hills Blvd , Beaverton, Oregon, 97005, United States"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
review_site

string

Filter reviews from specific review sites. By default, we return reviews from all indexed websites. Narrowing results down will decrease the processing time.

You can request multiple review sites.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&review_site=foursquare&review_site=google&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = [
    ("api_key", "12345"),
    ("name", "Five Guys"),
    ("callback", "https://www.example.com/reviewindexapi_callback"),
    ("review_site", "foursquare"),
    ("review_site", "google")
]
response = requests.get(
    url=url,
    params=params
)            
coming soon
coming soon
coming soon
diff

string Token to get the next page of reviews.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&diff=ac499c9d-99d0-461a-a5d-eef17b9a8c67&page_number=2&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "page_number": 2,
    "diff": "ac499c9d-99d0-461a-a5d-eef17b9a8c67"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
page_number

integer Retrieve a specific page of reviews.

Default value is set to 1 and the maximum value is being returned in the API response.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&diff=ac499c9d-99d0-461a-a5d-eef17b9a8c67&page_number=2&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "page_number": 2,
    "diff": "ac499c9d-99d0-461a-a5d-eef17b9a8c67"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
per_page

integer The number of reviews in one page.

The default value is 50, and the maximum allowed value is 500.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&per_page=100&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "per_page": 100
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
from_date/to_date

string Retrieve reviews within a given time range.

  • from_date parameter indicates the date of the oldest review. The default value is a year ago from the current day.
  • to_date parameter indicates the date of the newest review. The default value is the current date.

Expected format is YYYY-MM-DD.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&from_date=2022-01-01&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "from_date": "2022-01-01"
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
timeseries

boolean Get review volume and average rating per day.

By default, we construct the time series data based on all reviews we have. To narrow down the results, use the time range option.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&timeseries=true&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "timeseries": True
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
update

boolean If you need more data than we already have (historical or latest), you must request an update.

Without the from_date parameter, we will fetch the latest data only (those we do not have yet). With the from_date parameter, you can also fetch historical reviews we do not yet have.

This process might take more time depending on the number of updated profiles and how old reviews you need.

Code example
curl --request GET --url 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&from_date=2022-05-01&update=true&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345'
import requests

url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "from_date": "2022-05-01",
    "update": True
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
external_identifier

string If you would like to identify the jobs yourself, you can use external identifier. This value will always be included in our callback payload.

The value cannot exceed 255 characters.

Code example
curl POST 'https://reviewindexapi.datashake.com/reviews?name=Five%20Guys&from_date=2022-05-01&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&api_key=12345&external_identifier=qwerty123'
import requests

url = url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "from_date": "2022-05-01",
    "external_identifier": "qwerty123"
}
response = requests.post(
    url=url,
    params=params
)
coming soon
coming soon
coming soon
priority_job

bool You can set some jobs to be processed with priority within your queue.

Code example
curl GET 'https://reviewindexapi.datashake.com/reviews?api_key=12345&name=Five%20Guys&callback=https%3A%2F%2Fwww.example.com%2Freviewindexapi_callback&from_date=2022-05-01&priority_job=true'
import requests

url = url = "https://reviewindexapi.datashake.com/reviews"
params = {
    "api_key": "12345",
    "name": "Five Guys",
    "callback": "https://www.example.com/reviewindexapi_callback",
    "from_date": "2022-05-01",
    "priority_job": True,
}
response = requests.get(
    url=url,
    params=params
)
coming soon
coming soon
coming soon

Rules and restrictions

  • The name and callback parameters are required.
  • The diff parameter is required for pagination.

Response

  • A summary is based on the data fetched by us, not on the reported values on review profiles
API Response example
{
    "success": true,
    "request": {
        "historical_data": false,
        "domain": null,
        "name": "Morton's The Steakhouse",
        "street": null,
        "city": "New York City",
        "zip_code": null,
        "state": null,
        "country": null,
        "address": null,
        "phone_number": null,
        "ticker_symbol": null,
        "callback": "https://foobar.m.pipedream.net",
        "review_site": null,
        "from_date": "2021-10-19",
        "to_date": "2022-10-19",
        "page_number": 1,
        "per_page": 50,
        "update": false,
        "timeseries": true,
        "diff": null,
        "external_identifier": null
    },
    "credits_used": 0,
    "request_id": "1666184588433532000-45c7f0d8-8430-4c",
    "timeseries": [
        {
            "date": "2021-10-19",
            "average_rating": 4.59,
            "total_reviews": 115
        },
        {
            "date": "2021-10-20",
            "average_rating": 0,
            "total_reviews": 0
        },
        ...
        {
            "date": "2022-10-16",
            "average_rating": 5,
            "total_reviews": 1
        },
        {
            "date": "2022-10-17",
            "average_rating": 5,
            "total_reviews": 1
        }
    ],
    "results": [
        {
            "external_id": "110321885210642761761",
            "reviewer": "Kit Sedgwick",
            "date": "2022-10-17T12:39:35.242172",
            "rating": 5,
            "text": null,
            "url": "https://www.google.com/maps/contrib/110321885210642761761/place/ChIJR7SnMP5YwokR-8MZMiv4mJ0",
            "profile_picture_url": "https://lh3.googleusercontent.com/a-/ACNPEu8sZowMoszJInLvjkDQAC6npjiemX6Dec9FOOWD8Qw=s240-c-c0x00000000-cc-rp-mo-ba3-br100",
            "title": null,
            "source": "google",
            "response": null
        },
        {
            "external_id": "117684774165927406565",
            "reviewer": "Ismael Civit",
            "date": "2022-10-16T12:39:35.246626",
            "rating": 5,
            "text": null,
            "url": "https://www.google.com/maps/contrib/117684774165927406565/place/ChIJR7SnMP5YwokR-8MZMiv4mJ0",
            "profile_picture_url": "https://lh3.googleusercontent.com/a-/ACNPEu9xglnWZ4SikGbgqRFUi2CZs6fkwr1U5snOnxypng=s240-c-c0x00000000-cc-rp-mo-ba3-br100",
            "title": null,
            "source": "google",
            "response": null
        },
        {
            "external_id": "s-Ov16qDotp96yQcL2CIQg",
            "reviewer": "Eric K.",
            "date": "2022-10-14T00:00:00",
            "rating": 2,
            "text": "Ordered a burger and fries for take out. Burger was amazing. The fries though were limply and not golden brown  I also feel that I was over charged on menu listed as $22, I used a gift card wick was $10 bill came to me as $17.93",
            "url": "https://www.yelp.com/biz/mortons-the-steakhouse-new-york-2?hrid=s-Ov16qDotp96yQcL2CIQg",
            "profile_picture_url": "https://s3-media0.fl.yelpcdn.com/assets/srv0/yelp_styleguide/514f6997a318/assets/img/default_avatars/user_60_square.png",
            "title": null,
            "source": "yelp",
            "response": {
                "name": "Ana R.",
                "response_text": "Hi Eric. Would you please follow the link below to provide us with just a few more pieces of info? We would like to look into these issues further. Thank you.<a href=\"/redir?url=http%3A%2F%2Fwww.bit.ly%2Flandrysfeedback&amp;s=21860cb440a85217e9c9fd7b3bbf456185f4b70537335b7ee67efab26731f9bd\" target=\"_blank\" rel=\"nofollow\">bit.ly/landrysfeedback</a>",
                "date": "2022-10-17T00:00:00",
                "profile_picture": "https://s3-media0.fl.yelpcdn.com/buphoto/vTjeZLaAIj7toqvW05U_gw/30s.jpg"
            }
        },
        ...
    ],
    "summary": {
        "total": 362,
        "average_rating": 4.09,
        "per_source": [
            {
                "review_site": "google",
                "average_rating": 4.19,
                "total": 299
            },
            {
                "review_site": "yelp",
                "average_rating": 3.53,
                "total": 60
            },
            {
                "review_site": "tripadvisor",
                "average_rating": 5,
                "total": 3
            },
            {
                "review_site": "foursquare",
                "average_rating": 0,
                "total": 0
            }
        ]
    },
    "organization": {},
    "pagination": {
        "diff": "e2a7ced7-21b9-434d-a69d-08ccf535c2a7",
        "page_number": 1,
        "per_page": 50,
        "total_pages": 8
    }
}