Get in touch.

Send a message through the form — the same one the live site runs — or reach the team directly on any channel in the ledger.

Technical support.

Need help with integration or troubleshooting? Reach out to our team.

General inquiries.

Have a question about General Translation? We’re here to help.

the form — every field the live site asks for, all required

By submitting you agree to the Terms of Service and acknowledge the Privacy Policy.

What happens to a message.

On the live site, submitting runs this exact trace — one endpoint, three gates, and the copy each rejection shows. Type in the form above and watch the request assemble.

request — assembled from the form abovepreview only · nothing is sent
POST /api/contact?type=generalhost: generaltranslation.comcontent-type: application/json {  "name": "",  "email": "",  "companyName": "",  "message": ""}
rate5 requests per 60 s per IP429 · “Too many requests. Please try again later.”
fieldsall four required — name ≤ 200, company ≤ 500, message ≤ 5000 chars400 · “Please fill in all required fields.”
emailsyntax, placeholder-domain check, then a live MX lookup — A/AAAA fallback, 3 s cap, ambiguity passes400 · “Please provide a valid email address.”
sendrelayed through Resend to the team’s inbox200 · { "ok": true }

on 200 the live form swaps in place: “Message received — thank you for reaching out. We’ll be in touch soon.”