Website Translator (Opus-MT) avatar
Website Translator (Opus-MT)

Pricing

Pay per event

Go to Apify Store
Website Translator (Opus-MT)

Website Translator (Opus-MT)

Translate entire webpages while preserving HTML structure using self-hosted Helsinki-NLP Opus-MT models. Supports 15+ languages including Spanish, French, German, Chinese, and Japanese. Fast, affordable, and perfect for content localization, multilingual site generation, and SEO workflows.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Daniel Rosen

Daniel Rosen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Website Translator

Translates entire webpages while preserving HTML structure. Powered by self-hosted Helsinki-NLP Opus-MT models.

Overview

This Actor fetches a target URL, parses the HTML DOM, extracts visible text content, translates it through a private inference server, and returns the complete document with translated text in place. Scripts, styles, and layout remain intact.

Built for localization workflows, content migration, and multilingual site generation.

Supported Languages

CodeLanguageCodeLanguage
enEnglishplPolish
esSpanishruRussian
frFrenchzhChinese
deGermanjaJapanese
itItalianarArabic
ptPortugueseheHebrew
pt_brPortuguese (Brazil)nlDutch
pt_ptPortuguese (Portugal)

Non-English language pairs route through English automatically.

Pricing

EventRateDescription
page-translated$0.01Per page processed
chars-1k$0.001Per 1,000 characters

Input

FieldTypeRequiredDescription
urlStringYesTarget webpage URL
source_languageStringYesSource language code
target_languageStringYesTarget language code
timeout_secondsIntegerNoFetch timeout (default: 30, max: 120)
{
"url": "https://example.com/about",
"source_language": "en",
"target_language": "de"
}

Output

{
"url": "https://example.com/about",
"source_language": "en",
"target_language": "de",
"character_count": 4820,
"segment_count": 47,
"translated_html": "<!DOCTYPE html>...",
"status": "success",
"duration_ms": 1240,
"timestamp": "2026-02-05T14:32:00Z"
}

Technical Notes

Text is extracted from visible elements only. The following tags are excluded from translation:

<script>, <style>, <code>, <pre>, <noscript>, <svg>, <math>, <template>

Segments are processed in batches of 20. Failed segments retain original text.

Limits: 10 MB HTML, 50,000 characters, 120 second timeout.

API Usage

curl -X POST "https://api.apify.com/v2/acts/USERNAME~opus-mt-translator/runs?token=TOKEN" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "source_language": "en", "target_language": "fr"}'