# Tool: Bulk Translator & Localizer (`scrapers_lat/translator-tool`) Actor

Translate and localize many texts at once into any language with premium AI. Natural, native-sounding output that keeps brand terms and tone. Paid Apify plans only.

- **URL**: https://apify.com/scrapers\_lat/translator-tool.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** AI, Automation, Business
- **Stats:** 2 total users, 1 monthly users, 83.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $64.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<!-- actor-banner -->
[![Tool: Bulk Translator & Localizer](https://scrapers.lat/banners/translator-tool.png)](https://console.apify.com/actors/translator-tool)
<!-- /actor-banner -->

## Tool: Bulk Translator & Localizer

> Translate and localize many texts at once into any language. Get natural, native sounding output that keeps your brand terms and tone, not stiff machine translation.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Paid plan](https://img.shields.io/badge/Requires-Paid%20Apify%20plan-DE7356)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>Any language</strong><br>set a target, translate in bulk</td>
<td align="center"><strong>Native localization</strong><br>keeps tone and brand terms</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### What it does

Give it a list of texts and a target language. For each text it returns a clean, structured record:

- **translation**: a natural, localized version written the way a native speaker would
- **detectedSourceLanguage**: the language of your input, detected automatically when you do not set one
- **targetLanguage**: the language you asked for

It localizes idioms, phrasing and units so the result reads native, and it keeps brand names, product names and placeholders exactly as written. Export to JSON, CSV or Excel, or pull it through the Apify API.

### Paid plans only

This tool runs on the latest, most reliable premium AI models. Because each run has a real model cost, it is available to paid Apify accounts only. A run started from a free account stops immediately with an upgrade message. Upgrade your Apify subscription to a paid plan and run it again.

### Who is it for

| Use case | Who benefits |
|---|---|
| Ecommerce | Localizing product listings and store copy |
| Marketing | Adapting campaigns for new markets |
| Support | Translating help articles and canned replies |
| Product teams | Localizing app strings and notifications |

### Input

- **texts**: a list of items, each a plain string or an object with a `text` field.
- **targetLanguage**: the language to translate into, for example Spanish or Japanese.
- **sourceLanguage**: the input language. Leave blank to detect it. Optional.
- **tone**: a preferred tone or register, for example friendly or formal. Optional.
- **maxItems**: optional cap on how many texts to translate this run.

### Notes

- Output is localized, not word for word, so phrasing may differ from a literal translation on purpose.
- Long texts are truncated before translation to keep runs fast and predictable.

<!-- example-tasks -->
### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [Translate a Support Reply into Spanish](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-support-reply-to-spanish): Translate a customer support message into natural Spanish with a formal tone so your team answers Latin American users clearly.
- [Translate a Product Tagline into Japanese](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-product-tagline-to-japanese): Turn a marketing tagline into Japanese that reads naturally for local shoppers instead of a stiff literal translation.
- [Translate Restaurant Menu Items into French](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-menu-items-to-french): Translate restaurant menu items into French so hospitality staff can serve tourists and print bilingual menus with ease.
- [Translate a Business Email into German](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-email-to-german-formal): Translate a business email into polished formal German so you can reach clients and partners in the DACH region with confidence.
- [Translate App Strings into Brazilian Portuguese](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-app-strings-to-brazilian-pt): Localize app interface strings into Brazilian Portuguese so users in Brazil get clear buttons, labels and messages.
- [Translate a Social Caption into Italian](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-social-caption-to-italian): Translate a social media caption into Italian with a casual tone so your posts sound native to followers in Italy.
- [Translate a Legal Notice into Mandarin Chinese](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-legal-notice-to-mandarin): Translate a short legal notice into Mandarin Chinese with a formal tone for contracts, terms and compliance documents.
- [Translate a Help Article into Arabic](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-help-article-to-arabic): Translate a help center article into Arabic so customers in the Middle East can follow setup steps in their own language.
- [Translate Ad Copy into Korean](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-ad-copy-to-korean): Translate short ad copy into Korean with a marketing tone so your campaigns convert with audiences in South Korea.
- [Translate Onboarding Tips into Hindi](https://apify.com/scrapers_lat/translator-tool/examples/tr-translate-onboarding-tips-to-hindi): Translate onboarding tips into Hindi so new users in India understand each step and finish setup without confusion.

<!-- /example-tasks -->

<!-- x402 -->
### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).
<!-- /x402 -->

<!-- scrapers-lat-cta -->
Built by [scrapers.lat](https://scrapers.lat).
<!-- /scrapers-lat-cta -->

# Actor input Schema

## `texts` (type: `array`):

A list of texts to translate. Each item can be a plain string or an object with a text field.
## `targetLanguage` (type: `string`):

The language to translate into, for example Spanish, Portuguese, French or Japanese.
## `sourceLanguage` (type: `string`):

The language of the input text. Leave blank to detect it automatically. Optional.
## `tone` (type: `string`):

Preferred tone or register, for example friendly, formal, casual or marketing. Optional.
## `maxItems` (type: `integer`):

Cap how many texts to translate this run. Optional.

## Actor input object example

```json
{
  "texts": [
    "Welcome to our store. Sign up today and get 10 percent off your first order.",
    "Your package is on its way and should arrive within two business days."
  ],
  "targetLanguage": "Spanish"
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "texts": [
        "Welcome to our store. Sign up today and get 10 percent off your first order.",
        "Your package is on its way and should arrive within two business days."
    ],
    "targetLanguage": "Spanish"
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/translator-tool").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "texts": [
        "Welcome to our store. Sign up today and get 10 percent off your first order.",
        "Your package is on its way and should arrive within two business days.",
    ],
    "targetLanguage": "Spanish",
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/translator-tool").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "texts": [
    "Welcome to our store. Sign up today and get 10 percent off your first order.",
    "Your package is on its way and should arrive within two business days."
  ],
  "targetLanguage": "Spanish"
}' |
apify call scrapers_lat/translator-tool --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/translator-tool",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Tool: Bulk Translator & Localizer",
        "description": "Translate and localize many texts at once into any language with premium AI. Natural, native-sounding output that keeps brand terms and tone. Paid Apify plans only.",
        "version": "0.1",
        "x-build-id": "NmTH7ATPxXEJ1gGOO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~translator-tool/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-translator-tool",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~translator-tool/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-translator-tool",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~translator-tool/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-translator-tool",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "texts",
                    "targetLanguage"
                ],
                "properties": {
                    "texts": {
                        "title": "Texts to translate",
                        "type": "array",
                        "description": "A list of texts to translate. Each item can be a plain string or an object with a text field."
                    },
                    "targetLanguage": {
                        "title": "Target language",
                        "type": "string",
                        "description": "The language to translate into, for example Spanish, Portuguese, French or Japanese."
                    },
                    "sourceLanguage": {
                        "title": "Source language",
                        "type": "string",
                        "description": "The language of the input text. Leave blank to detect it automatically. Optional."
                    },
                    "tone": {
                        "title": "Tone",
                        "type": "string",
                        "description": "Preferred tone or register, for example friendly, formal, casual or marketing. Optional."
                    },
                    "maxItems": {
                        "title": "Max texts",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Cap how many texts to translate this run. Optional."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
