Review Sentiment Extractor
Use cases
Uses GPT-4o-mini/4o/4.1 with temperature 0.3 for consistency.
Batch processing (1-20 reviews per batch) with configurable inter-batch delays.
Extracts positive praise, negative pain points, and overall sentiment (positive/negative/mixed/neutral).
Reviews truncated at 1,000 characters.
Optional product context field.
Platform
Browser-based (no installation required)
Input
Reviews CSV
OpenAI API key
Optional: product/service context field
Output
CSV: original reviews plus positive/negative summaries, sentiment classification. Dashboard: sentiment distribution chart, plus the first 10 extracted positive and negative summaries shown as samples.
Features
- GPT-4o-mini, GPT-4o, or GPT-4.1 models
- Batch size slider (1-20, default 5)
- Inter-batch delay (0.5-5.0 seconds, default 1.0)
- 4 sentiment classifications (positive/negative/mixed/neutral)
- 1,000 character truncation per review
- Optional product context hint added to the prompt
- Sample lists of the first 10 positive/negative summaries
How to use
- 1 Enter OpenAI API key
- 2 Select model (GPT-4o-mini recommended)
- 3 Upload review CSV and select text column
- 4 Raise maximum reviews to process (defaults to 100)
- 5 Configure batch size and delay
- 6 Toggle positive/negative extraction
- 7 Download CSV with sentiments
Frequently asked questions
- Why did only 100 of my reviews get processed?
- The Maximum reviews to process box defaults to 100 (or your row count if lower) to protect against accidental API spend while testing. Raise it to your full row count before clicking Extract Sentiments.
- Are long reviews analysed in full?
- No. Each review is truncated to its first 1,000 characters before being sent to the model, so points made late in a very long review can be missed from the summaries.
- Does my CSV need specific column names or an ID column?
- No fixed names: you pick the review text column after upload, and the file is read as UTF-8 with a Latin-1 fallback (CSV only, not Excel). The ID column is optional and can be auto-generated, but if you supply your own it must be unique per row, because results are merged back onto your data by that ID and duplicates will multiply rows.
- What happens if an API call fails mid-run?
- The whole batch (up to 20 reviews depending on your batch size) is recorded with an error and empty sentiment fields, and processing continues with the next batch. There is no automatic retry, so filter the output for the error column and re-run those rows.
- When does the overall sentiment classification appear?
- Only when both Extract positive and Extract negative are ticked. In that mode each review is labelled positive, negative, mixed or neutral. With a single toggle enabled you get only that one summary column and no classification.
- What does the optional product context field actually do?
- It appends a line such as 'These reviews are for curtains' to the system prompt, which helps the model judge domain-specific praise and complaints (for example, whether 'thin fabric' is a defect). It changes nothing else about processing.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Semantically match keywords to existing pages using ML embeddings.
Analyse category pages and suggest high-performing keywords for titles.
Score and compare meta descriptions using OpenAI GPT models on key SEO criteria.
Rewrite meta descriptions using AI with proper length optimisation.
Review web content and get AI-powered annotations with improvement suggestions.
Calculate percentage changes between two values quickly.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need