Bulk Text Translator — Translate Texts & Datasets avatar

Bulk Text Translator — Translate Texts & Datasets

Pricing

from $0.005 / actor start

Go to Apify Store
Bulk Text Translator — Translate Texts & Datasets

Bulk Text Translator — Translate Texts & Datasets

Translate thousands of texts, reviews, product titles or any Apify dataset into 100+ languages with automatic language detection. No API key, no character limit, several target languages per run. Cheaper alternative to Google Translate and DeepL APIs.

Pricing

from $0.005 / actor start

Rating

0.0

(0)

Developer

Istmobot

Istmobot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

Bulk Text Translator — translate texts & Apify datasets into 100+ languages

Translate thousands of texts at once: reviews, comments, product titles and descriptions, captions, articles or any field of an Apify dataset, into 100+ languages, with automatic language detection. No API key, no character limit, several target languages in one run. A cheap alternative to the Google Translate API and DeepL API.

Why use it?

  • Translate other scrapers' results. Pass a datasetId from any Actor run (TikTok, Instagram, Google Maps reviews, Amazon, Google News, App Store reviews…) and the fields to translate. Every item comes back with <field>_<language> added, e.g. text_en, title_es.
  • Several languages at once: ["en", "es", "pt", "fr"].
  • Auto-detects the source language of every text and returns it.
  • Any length: long texts are split at sentence boundaries and stitched back.
  • Fast: hundreds of texts per request batch. 6,000 translations take a few minutes.
  • Fair billing: texts already in the target language are returned unchanged and not charged.

How much does it cost?

EventPrice
Actor start$0.005 per run
translation$0.001 per text per target language (per started 4,500 characters)

That is about $0.25 per million characters of short texts, versus $20 per million on the Google Cloud Translation API. Errors are free. The free plan's $5 monthly credit covers about 5,000 translations.

Input

FieldDefaultDescription
texts–Texts to translate, one per line
targetLanguages["en"]Language codes: en, es, pt, fr, de, it, ja, ko, zh-CN, zh-TW, ar, hi, ru, tr, id, vi, th…
sourceLanguageautoSource language code, or auto-detect
datasetId–Translate an existing Apify dataset
fields–Dataset fields to translate (dot paths allowed, e.g. author.bio)
maxItems10000Max texts or dataset items

Translate texts:

{ "texts": ["Great product, fast shipping!", "Llegó roto."], "targetLanguages": ["en", "de"] }

Translate the reviews from another run:

{ "datasetId": "<DATASET_ID_FROM_ANOTHER_RUN>", "fields": ["title", "text"], "targetLanguages": ["en"] }

Output

Text mode, one item per text and language:

{ "index": 1, "text": "Llegó roto.", "translatedText": "It arrived broken.", "sourceLanguage": "es", "targetLanguage": "en", "characters": 11 }

Dataset mode: the original item plus translated fields:

{ "rating": 1, "text": "Updated my iPad and now WhatsApp will not stay open", "text_es": "Actualicé mi iPad y ahora WhatsApp no se queda abierto", "text_sourceLanguage": "en", "_sourceIndex": 0 }

Chain it after any scraper

In Apify Console, add an integration on your scraper ("Run Actor" on success) that starts Bulk Text Translator with {"datasetId": "{{resource.defaultDatasetId}}", "fields": ["text"]}. Every new scrape is translated automatically. Works the same from Make, Zapier, n8n or the API:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("istmobot/bulk-text-translator").call(run_input={"texts": ["Bonjour tout le monde"], "targetLanguages": ["en", "es"]})
for t in client.dataset(run["defaultDatasetId"]).iterate_items():
print(t["targetLanguage"], t["translatedText"])

FAQ

Which translation engine? Google's neural machine translation, the same engine used for page translation in Chrome.

Is formatting kept? Line breaks are kept. Text is translated as plain text.