Bulk ChatGPT & Claude: Classify, Extract & Translate Datasets avatar

Bulk ChatGPT & Claude: Classify, Extract & Translate Datasets

Pricing

from $0.80 / 1,000 row processed by the built-in ai (fast)s

Go to Apify Store
Bulk ChatGPT & Claude: Classify, Extract & Translate Datasets

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

tidydata

Maintained by Community

Actor 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_error column and you are not charged for it.

What can it do?

TaskYou giveNew columns
ClassifyYour categories, e.g. Complaint, Question, Praise, Spamai_label (or ai_labels), ai_confidence
Sentiment analysisNothing elseai_sentiment (positive / negative / neutral / mixed), ai_score (-1 to 1), ai_reason
Extract fieldsThe columns you want, e.g. price: the price as a numberOne column per field (null when not found)
SummarizeLength in wordsai_summary
TranslateTarget language<field>_<code>, e.g. title_es, description_es
Custom promptYour instruction, with {field} placeholders if you wantai_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

  1. Choose what the AI should do (task).
  2. Add your data: pick Apify datasets, paste file links (CSV, Excel, JSON, public Google Sheets) or paste texts.
  3. 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).
  4. 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.

ModePrice 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.