Reviews
pissedconsumer.com
Verified
PissedConsumer Scraper
Extract consumer complaints, resolution status, and company response data from PissedConsumer. Built on spider-browser .
- target
- pissedconsumer.com
- success rate
- 99.9%
- latency
- ~4ms
POST
/fetch/pissedconsumer.com/ return_format
curl -X POST https://api.spider.cloud/fetch/pissedconsumer.com/ \ -H "Authorization: Bearer $SPIDER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"return_format": "json"}'
200 OK · cache hit · response shape
{
"url": "https://pissedconsumer.com/",
"status": 200,
"data": {
"company_name": "string",
"rating": "string",
"complaint_title": "string",
"complaint_text": "string",
"author": "string",
"date": "string",
"resolution": "string",
"category": "string"
}
} # PissedConsumer Scraper
**Company name**: string
**Rating**: string
**Complaint title**: string
**Complaint text**: string
**Author**: string
**Date**: string
**Resolution**: string
**Category**: string
Quick start
Extract data in minutes.
Structured JSON from pissedconsumer.com with a single POST. AI-resolved selectors, cached on the first call.
pissedconsumer-scraper.ts
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.pissedconsumer.com/company/amazon/reviews.html");
await page.content();
const data = await page.evaluate(`(() => {
const complaints = [];
document.querySelectorAll(".review-card").forEach(el => {
const title = el.querySelector("h2, [data-service-review-title]")?.textContent?.trim();
const text = el.querySelector("p, [data-service-review-text]")?.textContent?.trim();
const rating = el.querySelector("[data-rating], [aria-label*='star']")?.textContent?.trim();
const date = el.querySelector("time")?.textContent?.trim();
if (title) complaints.push({ title, text: text?.slice(0, 300), rating, date });
});
return JSON.stringify({ total: complaints.length, complaints: complaints.slice(0, 10) });
})()`);
console.log(JSON.parse(data));
await spider.close(); curl -X POST https://api.spider.cloud/fetch/pissedconsumer.com/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"return_format": "json"}' import requests
resp = requests.post(
"https://api.spider.cloud/fetch/pissedconsumer.com/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={"return_format": "json"},
)
print(resp.json()) const resp = await fetch("https://api.spider.cloud/fetch/pissedconsumer.com/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data); ready to run · spider-browser · TypeScript
Extraction
Fields you can pull.
Company nameRatingComplaint titleComplaint textAuthorDateResolutionCategory
Listings
Business intelligence
Extract ratings, reviews, and contact info from pissedconsumer.com listings.
Pagination
Review collection
Navigate through paginated reviews with scroll-based lazy loading.
Geo
Location targeting
Access location-specific results with geo-targeted residential proxies.
Related
More Reviews scrapers.
Start
Start scraping pissedconsumer.com.
Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.