Bulk ChatGPT & Claude: Classify, Extract & Translate Datasets
Pricing
from $0.80 / 1,000 row processed by the built-in ai (fast)s
Bulk ChatGPT & Claude: Classify, Extract & Translate Datasets
Run AI on every row of a dataset, CSV, Excel or Google Sheet: classify, sentiment analysis, extract fields, summarize, translate or your own prompt. Answers are added as new columns. No API key needed, or bring your own OpenAI, Claude, Gemini or OpenRouter key.
Pricing
from $0.80 / 1,000 row processed by the built-in ai (fast)s
Rating
0.0
(0)
Developer
tidydata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Bulk ChatGPT & Claude for datasets: classify, extract, summarize and translate every row
Run an AI model on every row of your data and get the answers back as new columns. Feed it the results of any Apify scraper, a CSV, an Excel file or a Google Sheet, pick a task, and download a clean table.
- No API key needed. The built-in AI (OpenAI's open GPT-OSS models: 20B for speed, 120B for harder work) is included in the price per row.
- Or bring your own key for OpenAI (ChatGPT), Anthropic (Claude), Google Gemini, OpenRouter (350+ models), Groq, DeepSeek or Mistral, and pay a much lower price per row.
- Built for scraper output. Pick a dataset from your Apify storage, or chain it as an integration after any Actor (Google Maps, reviews, jobs, products, comments…).
- Failed rows are free. If the AI can't process a row, you get the row back with an
ai_errorcolumn and you are not charged for it.
What can it do?
| Task | You give | New columns |
|---|---|---|
| Classify | Your categories, e.g. Complaint, Question, Praise, Spam | ai_label (or ai_labels), ai_confidence |
| Sentiment analysis | Nothing else | ai_sentiment (positive / negative / neutral / mixed), ai_score (-1 to 1), ai_reason |
| Extract fields | The columns you want, e.g. price: the price as a number | One column per field (null when not found) |
| Summarize | Length in words | ai_summary |
| Translate | Target language | <field>_<code>, e.g. title_es, description_es |
| Custom prompt | Your instruction, with {field} placeholders if you want | ai_answer, or your own columns |
Typical uses
- Lead qualification: classify companies from Google Maps or a website crawl as B2B / B2C, by industry, or by fit for your offer.
- Review and comment analysis: sentiment and topics for app reviews, product reviews, YouTube or social comments.
- Data cleaning: extract price, currency, brand, city or email from messy text fields into proper columns.
- Content work: summarize articles, translate product catalogs, write a personalised first line for each lead (
Write a one-line opener for {name} at {company}). - Tagging at scale: route support tickets, label job posts by seniority, flag spam.
How to use it
- Choose what the AI should do (task).
- Add your data: pick Apify datasets, paste file links (CSV, Excel, JSON, public Google Sheets) or paste texts.
- Optional: limit which fields are sent with Only send these fields (by default all text fields are sent; IDs, URLs and image links are skipped).
- Run. Download the result as CSV, Excel or JSON, or send it on with another integration.
Run it after a scraper (integration)
In the scraper's Integrations tab, add this Actor and set Apify datasets to {{resource.defaultDatasetId}}. Every time the scraper finishes, its rows are enriched automatically.
Example input (classify Google Maps places)
{"task": "classify","labels": ["Restaurant", "Cafe", "Bar", "Bakery", "Other"],"datasetIds": ["YOUR_DATASET_ID"],"inputFields": ["title", "categoryName", "description"]}
Example output
{"text": "The delivery was two days late and the box was crushed, but support refunded me quickly.","ai_sentiment": "mixed","ai_score": -0.2,"ai_reason": "Late, damaged delivery but quick refund from support"}
Pricing
Pay per row that the AI processed successfully. Failed rows and input problems are never charged.
| Mode | Price per row |
|---|---|
| Built-in AI, fast (default) | $0.001 (1,000 rows = $1) |
| Built-in AI, smart | $0.004 |
| Your own API key | $0.0002 (you pay your AI provider directly) |
Higher Apify plans get store discounts automatically. Set Maximum cost per run in the run options and the Actor stops before going over it.
Users on Apify's free plan can try the built-in AI on the first 20 rows of each run; add your own API key to process more.
Tips
- Very large jobs: the built-in AI has a shared daily capacity. If it is reached, the run stops cleanly, unprocessed rows are not charged, and you can continue tomorrow or add your own API key to process any volume.
- Duplicates are processed once. Identical rows reuse the same answer.
- Long rows are cut to 4,000 characters by default (change Max characters sent per row).
- Rate limits with your own key: lower Parallel requests if your provider returns 429 errors; the Actor retries automatically.
- Privacy: rows are sent only to the AI provider you use for the run; nothing is stored by this Actor beyond your run's dataset.
FAQ
Do I need an OpenAI or Anthropic account? No. Leave Your API key empty and the built-in AI is used.
Which model is used? Built-in fast mode uses GPT-OSS 20B and smart mode GPT-OSS 120B, OpenAI's open-weight models. With your own key you can name any model your provider offers.
Can it read Excel and Google Sheets? Yes: public links to .xlsx, .csv, .json files and Google Sheets shared as "Anyone with the link can view".
What if the AI is unsure? Classify returns ai_confidence (0 to 1) so you can filter low-confidence rows. Extract returns null instead of guessing.
Questions or a feature request? Open an issue on this Actor's page: we answer quickly.