Skip to content

Şikayetvar Scraper

Try for free

Scrape Şikayetvar (Türkiye) brand complaints with full text, solved status, customer rating, brand replies, topics, hashtags and views. By brand, keyword search or URL. No login.

📣 Şikayetvar Scraper

Get Türkiye's brand complaints from Şikayetvar as clean data: the full complaint text, solved status, the customer's rating, brand replies and the whole reply thread, topic, category, hashtags, views and upvotes. Search by brand, keyword or URL. No login and no browser: in our tests a run of 20 complaints took about 6 seconds, 1,000 took about 15 seconds and 10,000 about 70 seconds, for $1.50 per 1,000 complaints.

✨ Why use Şikayetvar Scraper?

  • 📝 The full complaint, not a teaser: every row carries the complete text the customer wrote, plus a short snippet for tables.
  • ✅ Outcome and rating: isSolved, a readable status (solved, not solved, awaiting rating), the customer's 1–5 star customerRating and the site's satisfactionScore.
  • 💬 Brand replies and the thread: brandAnswered, brandReplyCount, the first brandReply, and replies[] with every brand answer and customer follow-up in reading order, plus public comments[].
  • 🏷️ Ready-made taxonomy: brand topic (topic, for example İade or Kargo), category and sub-category, complaint subjects and the site's hashtags.
  • 🔎 Many ways in: brand slugs, names or URLs; keyword search across all brands; a keyword inside each brand; topic pages, search pages and single complaints pasted from the site.
  • ⚡ Fast and light: it reads the site's own page data, 100 complaints per request, with no page-by-page detail loading.

🎯 Use cases

  • 👀 Brand reputation monitoring: track what Turkish customers say about your brand or competitors every day, and how fast each brand answers.
  • 🧭 Customer experience research: group complaints by topic, subject and hashtag to find the issues behind refunds, delivery delays or billing errors.
  • 📊 Competitor benchmarking: compare solved rates, ratings and complaint volume across e-commerce, telecom, banking or delivery brands.
  • 🏦 Vendor due diligence: check a supplier's or marketplace seller's complaint history before you sign.
  • 🤖 AI and analytics pipelines: feed full Turkish complaint texts and brand replies into sentiment, topic or LLM workflows.

🚀 How to use

  1. Add one or more brands (a slug like trendyol, a name like Türk Telekom, or a brand URL), and/or search complaints with keywords like kargo gecikmesi, and/or paste Şikayetvar URLs.
  2. Set Max complaints per brand, search or URL (20 by default, 0 = as many as the site lists).
  3. Optionally filter by complaint status, time period, a date range or a keyword inside each brand, and pick a sort order.
  4. Click Start. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
brandsBrand slugs (trendyol), names (Türk Telekom), brand URLs or brand topics (trendyol/iade)
searchQueriesKeyword search across every brand
startUrlsBrand, topic, search, latest-complaints or single complaint URLs from sikayetvar.com
maxComplaintsComplaints per brand, search or URL (default 20, 0 = all the site lists, up to 20,000 per list)
complaintStatusALL, SOLVED, NOT_SOLVED, AWAITING_RATING
timePeriodALL, LAST_HOUR, LAST_WEEK, LAST_MONTH, LAST_YEAR
dateFrom, dateToOnly complaints written in this window (YYYY-MM-DD, Türkiye time, or 7 days)
brandKeywordOnly the brands' complaints that match a word or phrase
sortByNEWEST, MOST_VIEWED, MOST_UPVOTED, MOST_COMMENTED, POPULAR
includeRepliesAdd the reply thread, first brand reply and comments (on by default)
{
  "brands": ["trendyol", "turkcell"],
  "searchQueries": ["kargo gecikmesi"],
  "maxComplaints": 50,
  "complaintStatus": "ALL",
  "timePeriod": "LAST_MONTH",
  "sortBy": "NEWEST",
  "includeReplies": true
}

📤 Output

One row per complaint. The Complaints view shows brand, title, date, status, rating, brand reply, views, topic and link; the Full text view shows the complaint and the first brand reply side by side.

FieldDescription
complaintId, url, slugComplaint id and link
title, body, snippetHeadline, full text, first 200 characters
brand, brandName, brandId, brandUrlThe brand the complaint is about
topic, topicUrl, topicLabelBrand topic (for example İade, Kargo)
category, subCategory, subjects, hashtagsSite taxonomy and tags
date, createdAt, publishedAtDate written (Türkiye time) and UTC timestamps
authorName, authorId, authorUrl, authorCityPublic member profile (first name only, as the site shows it)
isSolved, status, resolveStatusOutcome: solved, not solved, awaiting rating (and the site's raw code)
customerRating, satisfactionScoreThe customer's 1–5 star rating and the site's score
brandAnswered, brandReplyCount, brandReplyWhether and how the brand replied
replies[], replyCount, comments[], commentCountThe thread (from: brand or member) and public comments
viewCount, uniqueViewCount, upvoteCount, thankedEngagement
images[], videos[], hasPhoto, hasVideo, isVideoComplaintAttached media
source, input, scrapedAtWhich input produced the row and when

Example (trimmed; the author is fictional):

{
  "complaintId": 37353939,
  "url": "https://www.sikayetvar.com/turkcell/turkcellden-paket-yenileme-sozunun-tutulmamasi-ve-fazladan-ucret-talebi",
  "title": "Turkcell'den Paket Yenileme Sözünün Tutulmaması Ve Fazladan Ücret Talebi",
  "body": "Turkcell faturalı hattım için yaptığım paket yenileme işleminde mağduriyet yaşadım. Paketimin bitiş tarihinde Turkcell tarafından aranacağım ...",
  "brand": "turkcell",
  "brandName": "Turkcell",
  "category": "İletişim Marka ve Firmaları",
  "subCategory": "GSM Operatörleri",
  "subjects": ["Web Sitesi", "Web Satış"],
  "hashtags": ["paketler", "faturalı hat", "paket yenileme", "iptal etme"],
  "date": "2026-10-21",
  "createdAt": "2026-10-21T11:15:21Z",
  "authorName": "Ayşe",
  "authorUrl": "https://www.sikayetvar.com/uye/ayse-10000001",
  "isSolved": true,
  "status": "solved",
  "resolveStatus": 1,
  "customerRating": 4,
  "satisfactionScore": 75,
  "brandAnswered": true,
  "brandReplyCount": 2,
  "brandReply": "Değerli Müşterimiz,\n\nTalebinizle ilgili inceleme yaparak en kısa sürede size bilgi vereceğiz.\n\nSaygılarımızla,\nTurkcell",
  "viewCount": 12,
  "upvoteCount": 0,
  "replyCount": 2,
  "replies": [
    {"from": "brand", "message": "Değerli Müşterimiz, Talebinizle ilgili inceleme yaparak ...", "createdAt": "2026-10-21T11:16:39Z"},
    {"from": "brand", "message": "Değerli Müşterimiz, 21.10.2026 tarihinde talebinizle ilgili sizi aradık ...", "createdAt": "2026-10-21T12:21:41Z"}
  ],
  "comments": [],
  "source": "brand",
  "input": "turkcell",
  "scrapedAt": "2026-10-21T14:55:54.597Z"
}

💰 Pricing

You pay $1.50 per 1,000 complaints ($0.0015 per complaint saved), plus a small platform usage charge for compute and proxy traffic. 1,000 complaints ≈ $1.50 in total: our 1,000-complaint test run cost $1.5014, of which $0.0014 was platform usage (about 1 MB of proxy traffic). Inputs that return nothing, invalid inputs and failed pages are never charged, and you can cap any run with a maximum charge.

❓ FAQ

Is it legal to scrape Şikayetvar? The scraper reads only public complaint pages that anyone can open without an account. Complaints can contain personal data; you are responsible for using the data in line with KVKK, GDPR and the site's terms.

Do I need a login, cookies or a proxy? No login or cookies. Datacenter proxy exits are used by default; if the site ever blocks them, the run switches to Turkish residential exits on its own.

How many complaints can I get? The site serves up to 200 pages per list. With 100 complaints per page that is up to 20,000 complaints per brand, search or URL. For more, split the work with filters: status, time period, sort order, a keyword, or brand topic URLs such as https://www.sikayetvar.com/trendyol/kargo.

Why is a field empty? Fields are empty when the site has no value: customerRating stays empty until the customer rates the outcome, topic is empty for complaints not filed under a brand topic, and authorCity is only shown for some members.

Can I schedule it or use the API? Yes. Schedule daily runs with timePeriod: "LAST_WEEK" or dateFrom: "1 day" to collect only new complaints, and read results through the API or integrations.

⚠️ Limits

  • At most 200 pages per list (up to 20,000 complaints per brand, search or URL); deeper history needs filters or topic URLs.
  • New complaints arriving during a long run can shift pages; rows are de-duplicated, but a few complaints near page edges may be missed.
  • Author data is what the site shows publicly (first name, profile link, sometimes a city).
  • Brand profile pages (address, phone, rating summary) and member profile pages are not scraped.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.