Skip to content

Add review profile

Few notes

🗑 Profiles older than 45 days will automatically get purged from our servers

⚙ Learn about our API best practises and use callback functionality instead of polling our servers

💡 Review sites use a variety of URL formats. See our guideline for more information.

While we can scrape reviews from Facebook, they do not make all their reviews publicly available

If you want to scrape reviews from Google, we advise you to read our article: How to scrape reviews from Google.

📩 Get in touch with us if you have any further questions

Base URL

POST https://app.datashake.com/api/v2/profiles/add

Request parameters

KEY DATATYPE REQUIRED DESCRIPTION
url string no* Review profile URL
query string no* Google search query
place_id string no* Google place ID
from_date string no Reviews time range
blocks integer no Number of blocks
diff integer no Get only latest reviews
callback string no URL for callback
external_identifier string no Your response identifier

*

In order to perform the task, we need you to provide at least one of these parameters:

  • url, query, place_id

Review profile URL

URL of the required review profile.

curl POST 'https://app.datashake.com/api/v2/profiles/add?url=https://www.amazon.com/dp/B003YH9MMI' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "url": "https://www.amazon.com/dp/B003YH9MMI"
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

Google query

Google search query that shows the Google My Business listing. This parameter can only be used with Google review profiles.

For more information about scraping Google reviews, click here.

curl POST 'https://app.datashake.com/api/v2/profiles/add?query=I-80%20Towing%20%26%20Service%2C%201209%20S%203rd%20St%2C%20Laramie%2C%20WY%2082070%2C%20USA' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "query": "I-80 Towing & Service, 1209 S 3rd St, Laramie, WY 82070, USA"
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

Google place ID

You can provide a Google Place ID to be more specific about the Google My Business you need reviews from.

For more information about scraping Google reviews, click here.

curl POST 'https://app.datashake.com/api/v2/profiles/add?place_id=ChIJr5dFzfKAhYARj99B34yuZOw' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "place_id": "ChIJr5dFzfKAhYARj99B34yuZOw"
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

From date

Using this parameter you can retrieve reviews from a specific date only.

  • Required format: YYYY-MM-DD

Warning

This feature is available only with url parameter.

curl POST 'https://app.datashake.com/api/v2/profiles/add?url=url=https://www.amazon.com/dp/B003YH9MMI&from_date=2021-01-01' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "url": "url=https://www.amazon.com/dp/B003YH9MMI",
    "from_date": "2021-01-01"
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

Blocks

This parameter tells us how many reviews you'd like to collect on a website.

Example

  • if there are 100 reviews on the website and you only want 50 latest ones, you would use blocks=50
curl POST 'https://app.datashake.com/api/v2/profiles/add?place_id=ChIJr5dFzfKAhYARj99B34yuZOw&blocks=50' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "place_id": "ChIJr5dFzfKAhYARj99B34yuZOw",
    "blocks": 50
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

Get latest reviews only

If you're requesting reviews regularly and each time you would like to get latest reviews only (those you do not have yet) you can pass the previous job_id via diff parameter and we will only fetch the reviews you're missing from your previous job.

You can find detailed information about this functionality here.

curl POST 'https://app.datashake.com/api/v2/profiles/add?place_id=ChIJr5dFzfKAhYARj99B34yuZOw&diff=1234232' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "place_id": "ChIJr5dFzfKAhYARj99B34yuZOw",
    "diff": 1234232
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

Callback

Callback is a URL where you would like to receive your task results once the job is complete.

You can find detailed information about this functionality here.

curl POST 'https://app.datashake.com/api/v2/profiles/add?place_id=ChIJr5dFzfKAhYARj99B34yuZOw&callback=https://app.reviewcompany.com/Datashake_callback' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "place_id": "ChIJr5dFzfKAhYARj99B34yuZOw",
    "callback": "https://app.reviewcompany.com/Datashake_callback"
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

External identifier

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

Restriction

The value cannot exceed 255 characters.

curl POST 'https://app.datashake.com/api/v2/profiles/add?place_id=ChIJr5dFzfKAhYARj99B34yuZOw&external_identifier=qwerty123' -H 'spiderman-token: 1234567890'
import requests

url = "https://app.datashake.com/api/v2/profiles/add"
params = {
    "place_id": "ChIJr5dFzfKAhYARj99B34yuZOw",
    "external_identifier": "qwerty123"
}
headers = {
    "spiderman-token": "1234567890"
}
response = requests.post(
    url=url,
    params=params,
    headers=headers
}
coming soon
coming soon
coming soon

Response

Our response is a JSON object containing these keys:

KEY DATATYPE DESCRIPTION
success boolean Job outcome
status integer HTTP status code
message string Additional information
job_id string | null Job identification
curl POST --url 'https://app.datashake.com/api/v2/profiles/add?url=https://www.amazon.com/dp/B003YH9MMI&from_date=2021-01-01' -H 'spiderman-token: 1234567890'
{
    "success": true,
    "job_id": 1234232,
    "status": 200,
    "message": "Added this profile to the queue..."
}

If we don't support the review site you are submitting, you will receive:

{
    "success": false,
    "status": 200,
    "message": "We do not support www.deliveroo.com yet, please submit it to our feedback forum (https://feedback.reviewshake.com)"
}

Add review profiles in bulk

POST https://app.datashake.com/api/v2/profiles/add_bulk

You can add more review profiles at once. Instead of using request parameters create a list of JSON objects containing the same information, as you would provide when adding profiles one by one and then pass this list as a POST payload.

Request

curl POST 'https://app.datashake.com/api/v2/profiles/add_bulk'
-H 'spiderman-token: 1234567890'
-H 'Content-Type: application/json'
--data-raw '[
    {"url": "https://www.homeaway.com/vacation-rental/p4494671", "callback": "https://app.reviewcompany.com/Datashake_callback", "from_date": "2021-01-01"},
    {"query": "I-80 Towing & Service, 1209 S 3rd St, Laramie, WY 82070, USA", "callback": "https://app.reviewcompany.com/Datashake_callback", "blocks":"10"}
]'
import requests

url = "https://app.datashake.com/api/v2/profiles/add_bulk"
payload = [
    {
        "url": "https://www.homeaway.com/vacation-rental/p4494671",
        "callback": "https://app.reviewcompany.com/Datashake_callback",
        "from_date": "2021-01-01"
    },
    {
        "query": "I-80 Towing & Service, 1209 S 3rd St, Laramie, WY 82070, USA",
        "blocks": 10,
        "callback": "https://app.reviewcompany.com/Datashake_callback"
    }
]

headers = {
    "spiderman-token": "1234567890",
    "content-type": "application/json"
}
response = requests.post(
    url=url,
    json=payload,
    headers=headers
}
coming soon
coming soon
coming soon

Response

Our response is a list of JSON objects containing these keys:

KEY DATATYPE DESCRIPTION
url string Requested profile URL*
query string Requested Google query*
place_id string Requested Google place ID*
from_date string Requested time range*
blocks integer Requested number of blocks*
callback integer Requested callback URL*
external_identifier integer Requested external identifier*
success boolean Job outcome
status integer HTTP status code
message string Additional information
job_id string | null Job identification

*

Parameter will only be present if it was provided in the initial request

curl POST 'https://app.datashake.com/api/v2/profiles/add_bulk'
-H 'spiderman-token: 1234567890'
-H 'Content-Type: application/json'
--data-raw '[
    {"url": "https://www.homeaway.com/vacation-rental/p4494671", "callback": "https://app.reviewcompany.com/Datashake_callback", "from_date": "2021-01-01"},
    {"query": "I-80 Towing & Service, 1209 S 3rd St, Laramie, WY 82070, USA", "callback": "https://app.reviewcompany.com/Datashake_callback", "blocks":"10"}
]'
[
    {
        "url": "https://www.homeaway.com/vacation-rental/p4494671",
        "callback": "https://app.reviewcompany.com/Datashake_callback",
        "from_date": "2021-01-01",
        "success": true,
        "job_id": 4807,
        "status": 200,
        "message": "Added this profile to the queue..."
    },
    {
        "query": "I-80 Towing & Service, 1209 S 3rd St, Laramie, WY 82070, USA",
        "callback": "https://app.reviewcompany.com/Datashake_callback",
        "blocks": "10",
        "success": true,
        "job_id": 4808,
        "status": 200,
        "message": "Added this profile to the queue..."
    }
]

If we don't support the review site you are submitting, you will receive:

[
    {
        "url": "https://www.deliveroo.com/vacation-rental/p4494671",
        "callback": "https://app.reviewcompany.com/Datashake_callback",
        "from_date": "2019-12-1",
        "success": false,
        "job_id": 4807,
        "status": 200,
        "message": "We do not support www.deliveroo.com yet, please submit it to our feedback forum (https://feedback.reviewshake.com)"
    },
    {
        "query": "I-80 Towing & Service, 1209 S 3rd St, Laramie, WY 82070, USA",
        "callback": "https://app.reviewcompany.com/Datashake_callback",
        "blocks": "10",
        "success": true,
        "job_id": 4808,
        "status": 200,
        "message": "Added this profile to the queue..."
    }
]