Translate Listings for Free by Stacking DeepL and Google Translate APIs
Two free quotas stacked is nearly 1 million characters a month
Translation is the part of multilingual listing rollout that quietly drains your budget once volume picks up. You don’t have to start paying right away. Two cloud translation services give away enough characters per month to carry a small seller a long way, and stacking them roughly doubles the runway.
DeepL API Free hands you 500,000 characters per month with no daily sub-limit, so you can burn through them whenever you like. Google Cloud Translation also gives 500,000 characters, and that allowance never expires. Together that’s nearly 1 million free translated characters every month.
To put that in perspective, a typical product listing with a title, bullet points, and a long description runs maybe a few hundred to a couple thousand characters. So each provider covers somewhere between a few hundred and around a thousand listings a month, and stacking both raises the ceiling further. For bulk, long-tail SKU rollout, that’s usually plenty.
Getting the DeepL key: no card required
DeepL is the painless one. Register a DeepL API Free account, drop in an email and a password, and you get an API key. No credit card anywhere in the flow, which is a relief if you’re wary of surprise charges.
In the account dashboard you’ll find an auth key ending in :fx. That suffix marks it as the Free tier. Make sure your calls hit the free endpoint domain rather than the pro one, or you’ll get an authentication error.
DeepL’s strength is European languages. For German, French, Spanish, Italian, Dutch, and Polish, the output reads more naturally than Google’s, with word choice and phrasing closer to a native writer. So route your European-market listings to DeepL first.
Getting the Google key: a card is required
Google asks a bit more of you. Spin up a Google Cloud project, enable the Cloud Translation API, then create a service account or API key. The catch: even if you only ever touch the free 500,000 characters, Google requires a credit card on file.
Having a card on file doesn’t mean you get charged. You stay free inside the quota. But know the cliff: past 500,000 characters, it’s roughly $20 per million characters. Set a budget alert in the Cloud console so a runaway batch job doesn’t hand you a bill you only notice at month’s end.
Google covers far more languages. It handles smaller languages, Asian languages, and Southeast Asian ones. Treat it as two things: the fallback for languages DeepL doesn’t support or translates weakly, and the overflow once DeepL’s 500K runs dry.
Routing by language and counting characters
In practice it comes down to two jobs: decide which provider handles each target language, and count characters as you go so neither quota silently blows past its cap. Here’s an illustrative flow you can build from:
# Languages that go to DeepL first (better European quality)
DEEPL_LANGS = {"DE", "FR", "ES", "IT", "NL", "PL"}
# Simple counters tracking characters used this month
usage = {"deepl": 0, "google": 0}
DEEPL_CAP = 500_000
GOOGLE_CAP = 500_000
def translate(text, target_lang):
n = len(text)
# European language and DeepL still has room: use DeepL
if target_lang in DEEPL_LANGS and usage["deepl"] + n <= DEEPL_CAP:
usage["deepl"] += n
return deepl_translate(text, target_lang) # uses the :fx free key
# Otherwise, or if DeepL is full, fall back to Google
if usage["google"] + n <= GOOGLE_CAP:
usage["google"] += n
return google_translate(text, target_lang)
# Both caps hit: stop here until next month or pay
raise RuntimeError("Free quota exhausted for this month")
One detail: both providers bill on the source text you submit, so count source length. Before a big batch, sum the total length of everything you plan to translate and check it fits the split, rather than stalling halfway through.
The privacy trap and when to polish
Here’s the caveat you can’t skip: DeepL API Free stores your text and may use it to improve its models, which is the cost of free. Only the paid DeepL API Pro promises not to retain or train on your input. So keep brand-sensitive core copy and unreleased product descriptions out of the Free tier; send that through Pro or a non-retaining channel. Public, long-tail SKU text is fine.
Also, machine translation is still machine translation. The parts of a listing that drive conversion, meaning the title, key selling points, and CTA, deserve a human or LLM polish pass to smooth stiff phrasing and swap in wording that matches local habits. Raw MT is perfectly fine for the bulk long-tail SKUs; save the editing hours for the listings that actually sell.
When does the 1 million characters run out? Heavy rollouts, or categories with very long descriptions, can drain it early in the month. At that point you have options: translate the most important languages and SKUs first and push the rest to next month, or put the higher-volume provider on a paid tier. Until you hit that wall, stacking free quotas covers most early-stage sellers.
Related Articles
Bulk-Generate Listings for Free with the Gemini API Free Tier
The real value of the free tier is not the chat box. It is the no-cost API key. Wire it to a dozen-line script, throttle it to roughly ten calls a minute, leave it running overnight, and you wake up to thousands of draft listings at zero cost. This covers the plumbing, not the copy.
Competitor and Product Research on NotebookLM Free Tier
Load competitor listings, customer reviews, spec sheets, supplier docs, and forum threads into one NotebookLM notebook, then ask the right questions to pull positioning, recurring complaints, selling points, and FAQs. Includes free-tier limits, a free-versus-paid table, example prompts, and when to upgrade.
Free Product Videos for TikTok and Reels with CapCut AI
A practical workflow for producing short-form product videos at zero cost using CapCut free AI features: AI script, text-to-speech voiceover, auto-captions, templates, and short AI b-roll. Includes a free-versus-paid feature split and platform-specific tips.