Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"review_id": "<string>",
"global_review_id": "<string>",
"title": "<string>",
"written_on": {},
"overall_rating": 123,
"ease_of_use_rating": 123,
"customer_support_rating": 123,
"functionality_rating": 123,
"value_for_money_rating": 123,
"likelihood_to_recommend": 123,
"pros_text": "<string>",
"cons_text": "<string>",
"general_comments": "<string>",
"switching_reasons": "<string>",
"chosen_reasons": "<string>",
"alternative_products": "<any>",
"alternative_products_names": "<string>",
"switched_from_products": "<any>",
"switched_from_products_names": "<string>",
"incentivized": "<string>",
"is_incentivized": true,
"review_source": "<string>",
"source_site": "<string>",
"is_anonymous": true,
"vendor_response": "<string>",
"vendor_response_date": {},
"reviewer_name": "<string>",
"reviewer_job_title": "<string>",
"reviewer_industry": "<string>",
"reviewer_company_size": "<string>",
"reviewer_time_used_product": "<string>",
"reviewer_profile_picture": "<string>",
"reviewer_linkedin_verified": true,
"reviewer_is_validated": true,
"reviewer_validations": "<string>",
"product_id": "<string>",
"product_uuid": "<string>",
"product_name": "<string>",
"product_slug": "<string>",
"vendor_name": "<string>",
"product_overall_rating": 123,
"product_total_reviews": 123,
"product_category": "<string>",
"source_url": "<string>",
"source_domain": "<string>"
}Capterra Reviews Scraper
Get Results
Retrieve scraped data from Capterra Reviews Scraper
GET
/
v1
/
results
Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"review_id": "<string>",
"global_review_id": "<string>",
"title": "<string>",
"written_on": {},
"overall_rating": 123,
"ease_of_use_rating": 123,
"customer_support_rating": 123,
"functionality_rating": 123,
"value_for_money_rating": 123,
"likelihood_to_recommend": 123,
"pros_text": "<string>",
"cons_text": "<string>",
"general_comments": "<string>",
"switching_reasons": "<string>",
"chosen_reasons": "<string>",
"alternative_products": "<any>",
"alternative_products_names": "<string>",
"switched_from_products": "<any>",
"switched_from_products_names": "<string>",
"incentivized": "<string>",
"is_incentivized": true,
"review_source": "<string>",
"source_site": "<string>",
"is_anonymous": true,
"vendor_response": "<string>",
"vendor_response_date": {},
"reviewer_name": "<string>",
"reviewer_job_title": "<string>",
"reviewer_industry": "<string>",
"reviewer_company_size": "<string>",
"reviewer_time_used_product": "<string>",
"reviewer_profile_picture": "<string>",
"reviewer_linkedin_verified": true,
"reviewer_is_validated": true,
"reviewer_validations": "<string>",
"product_id": "<string>",
"product_uuid": "<string>",
"product_name": "<string>",
"product_slug": "<string>",
"vendor_name": "<string>",
"product_overall_rating": 123,
"product_total_reviews": 123,
"product_category": "<string>",
"source_url": "<string>",
"source_domain": "<string>"
}Retrieve scraped data from your Capterra Reviews Scraper runs.
Headers
string
required
Your API authentication token. Value:
Token YOUR_API_KEY.Query Parameters
string
required
Hash of the squid to get results from.
integer
Page number (default: 1).
Result Fields
Export Reviews
string
Numeric id of the review on the site it was written on (see
source_site). Two reviews from different source sites can share this number, so use global_review_id to identify a review. Example: 7184664string
Unique id of the review across Capterra, GetApp and Software Advice: the source site followed by the review number. Together with
source_domain it identifies a row. Example: Capterra___7184664string
Headline the reviewer gave to the review. Example:
A practical platform for collecting public web data for researchdatetime
Date the review was written (day precision, UTC midnight). Capterra does not publish a time of day for reviews. Example:
2026-07-14T00:00:00+00:00float
Overall rating given by the reviewer, from 1 to 5. Example:
5.0float
Ease of use rating, from 1 to 5. Example:
5.0float
Customer service rating, from 1 to 5. Example:
5.0float
Features and functionality rating, from 1 to 5. Example:
5.0float
Value for money rating, from 1 to 5. Example:
5.0float
How likely the reviewer is to recommend the product, from 0 to 10. Example:
10.0text
What the reviewer likes about the product (Pros).
text
What the reviewer dislikes about the product (Cons).
text
Overall comments on the reviewer’s experience with the product.
text
Why the reviewer switched to this product, when given.
text
Why the reviewer chose this product over the alternatives, when given. Example:
Ease of use and the large library of ready-made Actorsjson
Products the reviewer considered before choosing this one, each with its Capterra id, name, slug and link. Example:
[{"id": "234796", "name": "Selenium IDE", "slug": "Selenium-IDE", "url": "https://www.capterra.com/p/234796/Selenium-IDE/"}]text
Names of the products the reviewer considered, comma separated. Example:
Selenium IDE, Octoparsejson
Products the reviewer used before switching to this one, each with its Capterra id, name, slug and link.
text
Names of the products the reviewer switched from, comma separated. Example:
Selenium IDEstring
Incentive disclosure code published by Capterra:
NoIncentive, VendorReferredIncentivized or NominalGift. Example: NoIncentiveboolean
true when the reviewer was offered an incentive (a gift card or a vendor-referred incentive) to write the review. Example: falsestring
Capterra’s own explanation of how the review was collected and whether an incentive was offered. Example:
No Incentive Offered: This review was submitted organically.string
Site of the Gartner network the review was written on:
Capterra, GetApp or SoftwareAdvice. Example: Capterraboolean
true when the reviewer chose to stay anonymous (shown as “Verified Reviewer”). On regional Capterra sites in a language other than English, French, Spanish, Brazilian Portuguese or Dutch, it is empty for the first 5 reviews of a product when Capterra does not say. Example: falsetext
Public reply of the vendor to the review, when there is one.
datetime
Date of the vendor’s reply (day precision, UTC midnight). Example:
2024-05-28T00:00:00+00:00string
Name of the reviewer as displayed by Capterra (first name and initial, or “Verified Reviewer” when anonymous); regional sites show the first name only. Example:
Faustino G.string
Job title of the reviewer. On regional Capterra sites in a language other than English, French, Spanish, Portuguese or Dutch, the line is kept as Capterra shows it (job title followed by the reviewer’s country). Example:
Researcherstring
Industry of the reviewer’s company. Example:
Education Managementstring
Size of the reviewer’s company. Example:
11-50 employeesstring
How long the reviewer has used the product. Example:
6-12 monthsstring
Link to the reviewer’s profile picture, when there is one.
boolean
true when the reviewer’s identity was verified through LinkedIn. Example: trueboolean
true when Capterra validated the reviewer. Example: truestring
Validation checks the reviewer passed, comma separated (
LinkedIn, BusinessEmail, ProofOfLink). Example: LinkedIn, ProofOfLinkstring
Capterra id of the reviewed product, the number after
/p/ in its URL. Example: 150854string
Internal unique identifier of the product in the Gartner network. Example:
9332c814-d90b-4746-bb51-a6d200b2b406string
Name of the reviewed product. Example:
Apifystring
Slug of the product in its Capterra URL (it can differ from the product name). Example:
Apifystring
Name of the company that makes the product. Example:
Apifyfloat
Average overall rating of the product on Capterra, from 1 to 5. Example:
4.8integer
Total number of reviews of the product on Capterra. Example:
579string
Main Capterra software category of the product. Example:
Web Scrapingstring
Capterra reviews page of the product the review was collected from (the regional site’s own product page for a regional URL). Example:
https://www.capterra.com/p/150854/Apify/reviews/string
Capterra site the review was collected from:
capterra.com or a regional site such as capterra.co.uk or capterra.fr. The same review can be collected from several sites (a regional site can show it in its original language), so a review is identified by global_review_id together with source_domain. Example: capterra.comCode Examples
curl -G https://api.lobstr.io/v1/results \
-H "Authorization: Token YOUR_API_KEY" \
-d "squid=YOUR_SQUID_HASH" \
-d "page=1"
import requests
response = requests.get(
"https://api.lobstr.io/v1/results",
headers={"Authorization": "Token YOUR_API_KEY"},
params={"squid": "YOUR_SQUID_HASH", "page": 1},
)
print(response.json())
Response
200
{"total_results": 1, "data": [{"review_id": "7184664", "global_review_id": "Capterra___7184664", "title": "A practical platform for collecting public web data for research", "written_on": "2026-07-14T00:00:00+00:00", "overall_rating": 5.0, "ease_of_use_rating": 5.0, "customer_support_rating": 5.0, "functionality_rating": 5.0, "value_for_money_rating": 5.0, "likelihood_to_recommend": 10.0, "pros_text": "I mainly use Apify for academic research on socio-environmental issues and digital public debates...", "cons_text": "Some Actors have excellent documentation, while others require more experimentation...", "general_comments": "My overall experience has been very positive. I use Apify as part of my research workflow...", "incentivized": "NoIncentive", "is_incentivized": false, "source_site": "Capterra", "is_anonymous": false, "reviewer_name": "Faustino G.", "reviewer_job_title": "Researcher", "reviewer_industry": "Education Management", "reviewer_company_size": "11-50 employees", "reviewer_time_used_product": "6-12 months", "reviewer_linkedin_verified": true, "reviewer_is_validated": true, "reviewer_validations": "LinkedIn, ProofOfLink", "product_id": "150854", "product_name": "Apify", "product_slug": "Apify", "vendor_name": "Apify", "product_overall_rating": 4.8, "product_total_reviews": 579, "product_category": "Web Scraping", "source_url": "https://www.capterra.com/p/150854/Apify/reviews/", "source_domain": "capterra.com"}]}