# Tatoeba

> Look up example sentences and their human-written translations in Tatoeba, the free collaborative corpus covering more than 400 languages. Search or filter sentences, translate a phrase, pull a random sentence for practice, follow a contributor, and find or download the audio recordings members have made. Free and open, with no account or API key required.

App · Dictionaries & Language · 8 actions. Web page: https://docs.lodol.com/docs/integrations/tatoeba

## Actions

### Download audio recording

Download the audio file of one recording so a later step can attach it to an email, drop it in storage or play it back. Find a recording id with Search audio recordings, or ask Get sentence to include audio. Recordings whose reader did not allow reuse outside Tatoeba cannot be downloaded and return a clear error saying so.

**Inputs**

- Recording ID (`audio_id`, text, required): The recording's Tatoeba id (for example 891), or its download URL.

**Outputs**

- `byte_size` (number)
- `content_type` (text)
- `document_ref` (text)
- `documents` (list)
- `url` (text)

**Example output**

```json
{
  "audio_id": "891",
  "byte_size": 9603,
  "content_type": "audio/mpeg",
  "document_ref": "doc_tatoeba_audio_891",
  "documents": [
    {
      "content_type": "audio/mpeg",
      "document_ref": "doc_tatoeba_audio_891",
      "filename": "tatoeba-audio-891.mp3",
      "size_bytes": 9603,
      "url": "/actions/core/serve-document/doc_tatoeba_audio_891"
    }
  ],
  "download_url": "https://api.tatoeba.org/v1/audios/891/file",
  "url": "/actions/core/serve-document/doc_tatoeba_audio_891"
}
```

### Get a random sentence

Pick one sentence at random out of everything matching your filters: a sentence of the day, a flashcard prompt, or a listening drill when you ask for one that has audio.

**Inputs**

- Sentence languages (`languages`, text, required): The language(s) the sentences must be written in. Tatoeba requires at least one; picking several returns sentences in any of them. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Search text (`query`, text): Only pick from sentences containing these words. Leave blank to draw from the whole corpus.
- Minimum words (`min_words`, number): Only return sentences with at least this many words. For languages written without spaces, Tatoeba counts characters instead. At least 1.
- Maximum words (`max_words`, number): Only return sentences with at most this many words. Pair with 'Minimum words' to ask for a range. At least 1.
- Has audio recording (`has_audio`, text): Only sentences that have (or have no) audio. Leave blank for either. One of: `yes`, `no`.
- Written by a native speaker (`is_native`, text): Only sentences owned by a member who says they are a native speaker of the language. Leave blank for either. One of: `yes`, `no`.
- Unapproved sentences (`is_unapproved`, text): Tatoeba marks sentences whose correctness is in doubt as unapproved (shown in red on the site). Choose No to leave them out. Leave blank for either. One of: `yes`, `no`.
- Tags (`tags`, list): Only sentences carrying every tag listed here, for example 'idiom' or 'proverb'. Prefix a tag with ! to exclude it instead.
- Sentence list IDs (`list_ids`, list): Only sentences that appear on every Tatoeba list given here. A list id is the number in its URL, for example 907 in tatoeba.org/en/sentences_lists/show/907.
- Has translations in (`translation_languages`, text): Only sentences that have a translation in one of these languages. Those translations are returned with each sentence. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Also include (`include_extras`, text): Extra data to attach to each sentence. Leave blank for neither. One or more of: `audios` (Audio recordings), `transcriptions` (Transcriptions (other scripts, romanisation)).
- Translations to return (`show_translations`, text): Which translations come back with each sentence. Defaults to only those matching the translation filters above. Ignored if you set any of the 'Only show translations …' filters, which pick the translations themselves. One of: `matching` (Only translations matching the translation filters below), `all` (All translations), `none` (No translations).
- Only show translations in (`show_translation_languages`, text): Narrow the translations that come back to these languages. This only changes what is displayed, not which sentences match. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.

**Outputs**

- `sentence` (object)

**Example output**

```json
{
  "sentence": {
    "audios": [
      {
        "attribution_url": "http://www.manythings.org/tatoeba",
        "author": "CK",
        "author_url": "https://tatoeba.org/en/user/profile/CK",
        "created": null,
        "download_url": "https://api.tatoeba.org/v1/audios/118031/file",
        "id": 118031,
        "license": "CC BY-NC-ND 3.0",
        "modified": null
      }
    ],
    "id": 2258234,
    "is_unapproved": false,
    "lang": "eng",
    "language_name": "English",
    "license": "CC BY 2.0 FR",
    "owner": "_undertoad",
    "owner_url": "https://tatoeba.org/en/user/profile/_undertoad",
    "script": null,
    "text": "Good morning.",
    "translations": [
      {
        "id": 335372,
        "is_direct": true,
        "is_unapproved": false,
        "lang": "jpn",
        "language_name": "Japanese",
        "license": "CC BY 2.0 FR",
        "owner": "Aurix",
        "owner_url": "https://tatoeba.org/en/user/profile/Aurix",
        "script": null,
        "text": "\u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002",
        "url": "https://tatoeba.org/en/sentences/show/335372"
      }
    ],
    "url": "https://tatoeba.org/en/sentences/show/2258234"
  }
}
```

### Get member

Read a Tatoeba member's public profile: the role they hold, the date they joined, and every language they have declared with their self-assessed level in it.

**Inputs**

- Member username (`username`, text, required): The member's Tatoeba username, or the URL of their profile page.

**Outputs**

- `member` (object)

**Example output**

```json
{
  "member": {
    "language_count": 2,
    "languages": [
      {
        "code": "fra",
        "details": "de France",
        "language_name": "French",
        "level": 5
      },
      {
        "code": "eng",
        "details": "",
        "language_name": "English",
        "level": 3
      }
    ],
    "role": "advanced_contributor",
    "role_label": "Advanced contributor",
    "since": "2012-02-25",
    "url": "https://tatoeba.org/en/user/profile/gillux",
    "username": "gillux"
  }
}
```

### Get sentence

Read one sentence by its Tatoeba id, together with its translations, its audio recordings and any transcriptions (romanisation or another script). You can paste the sentence's Tatoeba URL instead of the id.

**Inputs**

- Sentence ID (`sentence_id`, text, required): The sentence's Tatoeba id (for example 2258234), or the URL of its page.
- Also include (`include_extras`, text): Extra data to attach to each sentence. Leave blank for neither. One or more of: `audios` (Audio recordings), `transcriptions` (Transcriptions (other scripts, romanisation)).
- Translations to return (`show_translations`, text): Whether to return the sentence's translations. Defaults to all of them. Ignored if you set any of the 'Only show translations …' filters, which pick the translations themselves. One of: `all` (All translations), `none` (No translations). Default: `all`.
- Only show translations in (`show_translation_languages`, text): Narrow the translations that come back to these languages. This only changes what is displayed, not which sentences match. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Only show direct translations (`show_translations_direct`, text): Choose Yes for translations linked straight to the sentence, No for translations of its translations. Leave blank for either. One of: `yes`, `no`.
- Only show translations owned by (`show_translations_owner`, text): A Tatoeba username whose translations to show. Separate several with commas, or prefix with ! to leave theirs out.
- Only show unapproved translations (`show_translations_unapproved`, text): Choose No to leave translations marked unapproved out of the results. Leave blank for either. One of: `yes`, `no`.
- Only show orphan translations (`show_translations_orphan`, text): Orphan translations are ones nobody owns any more. Choose No to leave them out. Leave blank for either. One of: `yes`, `no`.
- Only show native-speaker translations (`show_translations_native`, text): Only translations owned by a member who says they are a native speaker of that language. Leave blank for either. One of: `yes`, `no`.
- Only show translations with audio (`show_translations_with_audio`, text): Only translations that have an audio recording. Ask for audio under 'Also include' to get the recordings themselves. Leave blank for either. One of: `yes`, `no`.

**Outputs**

- `sentence` (object)

**Example output**

```json
{
  "sentence": {
    "audios": [
      {
        "attribution_url": "http://www.manythings.org/tatoeba",
        "author": "CK",
        "author_url": "https://tatoeba.org/en/user/profile/CK",
        "created": null,
        "download_url": "https://api.tatoeba.org/v1/audios/118031/file",
        "id": 118031,
        "license": "CC BY-NC-ND 3.0",
        "modified": null
      }
    ],
    "id": 2258234,
    "is_unapproved": false,
    "lang": "eng",
    "language_name": "English",
    "license": "CC BY 2.0 FR",
    "owner": "_undertoad",
    "owner_url": "https://tatoeba.org/en/user/profile/_undertoad",
    "script": null,
    "text": "Good morning.",
    "transcriptions": [],
    "translations": [
      {
        "id": 335372,
        "is_direct": true,
        "is_unapproved": false,
        "lang": "jpn",
        "language_name": "Japanese",
        "license": "CC BY 2.0 FR",
        "owner": "Aurix",
        "owner_url": "https://tatoeba.org/en/user/profile/Aurix",
        "script": null,
        "text": "\u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002",
        "url": "https://tatoeba.org/en/sentences/show/335372"
      }
    ],
    "url": "https://tatoeba.org/en/sentences/show/2258234"
  }
}
```

### List a member's sentences

List the sentences one Tatoeba member has contributed, newest first. Useful for following a prolific contributor in a language you are learning, or for auditing your own additions.

**Inputs**

- Member username (`username`, text, required): The member's Tatoeba username, or the URL of their profile page.
- Sentence languages (`languages`, text, required): The language(s) the sentences must be written in. Tatoeba requires at least one; picking several returns sentences in any of them. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Sort by (`sort`, text): The order the sentences come back in. Defaults to newest first. One of: `relevance` (Best match first), `-created` (Newest first), `created` (Oldest first), `-modified` (Recently modified first), `modified` (Least recently modified first), `words` (Fewest words first), `-words` (Most words first), `random`. Default: `-created`.
- Number of sentences (`limit`, number): How many sentences to return, from 1 to 500 (Tatoeba's cap). Defaults to 20. From 1 to 500. Default: `20`.
- Page cursor (`after`, text): Leave blank for the first page. To get the next page, pass the 'next_cursor' this action returned last time. Use a sort other than Random when paging: a random sort reshuffles on every request.
- Has audio recording (`has_audio`, text): Only sentences that have (or have no) audio. Leave blank for either. One of: `yes`, `no`.
- Has translations in (`translation_languages`, text): Only sentences that have a translation in one of these languages. Those translations are returned with each sentence. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Also include (`include_extras`, text): Extra data to attach to each sentence. Leave blank for neither. One or more of: `audios` (Audio recordings), `transcriptions` (Transcriptions (other scripts, romanisation)).
- Translations to return (`show_translations`, text): Which translations come back with each sentence. Defaults to only those matching the translation filters above. Ignored if you set any of the 'Only show translations …' filters, which pick the translations themselves. One of: `matching` (Only translations matching the translation filters below), `all` (All translations), `none` (No translations).

**Outputs**

- `has_next` (true/false)
- `next_cursor` (text)
- `sentences` (list)
- `total` (number)

**Example output**

```json
{
  "has_next": true,
  "next_cursor": "1786754761,2258234",
  "sentences": [
    {
      "id": 2258234,
      "is_unapproved": false,
      "lang": "eng",
      "language_name": "English",
      "license": "CC BY 2.0 FR",
      "owner": "_undertoad",
      "owner_url": "https://tatoeba.org/en/user/profile/_undertoad",
      "script": null,
      "text": "Good morning.",
      "url": "https://tatoeba.org/en/sentences/show/2258234"
    }
  ],
  "total": 4213
}
```

### Search audio recordings

Browse the recordings Tatoeba members have made of sentences, optionally narrowed to one language or one reader. Each recording comes back with the sentence it reads, its licence, the attribution link and a working download URL.

**Inputs**

- Language (`language`, text): Only recordings of sentences in this language. Leave blank for every language. One of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Recorded by (`author`, text): Only recordings made by this Tatoeba member. Leave blank for every member.
- Number of recordings (`limit`, number): How many recordings to return, from 1 to 100 (Tatoeba's cap). Defaults to 20. From 1 to 100. Default: `20`.
- Page cursor (`after`, text): Leave blank for the first page. To get the next page, pass the 'next_cursor' this action returned last time.

**Outputs**

- `audios` (list)
- `has_next` (true/false)
- `next_cursor` (text)
- `total` (number)

**Example output**

```json
{
  "audios": [
    {
      "attribution_url": "http://www.manythings.org/tatoeba",
      "author": "CK",
      "author_url": "https://tatoeba.org/en/user/profile/CK",
      "created": null,
      "download_url": "https://api.tatoeba.org/v1/audios/118031/file",
      "id": 118031,
      "license": "CC BY-NC-ND 3.0",
      "modified": null,
      "sentence": {
        "id": 2258234,
        "is_unapproved": false,
        "lang": "eng",
        "language_name": "English",
        "license": "CC BY 2.0 FR",
        "owner": "_undertoad",
        "owner_url": "https://tatoeba.org/en/user/profile/_undertoad",
        "script": null,
        "text": "Good morning.",
        "url": "https://tatoeba.org/en/sentences/show/2258234"
      }
    }
  ],
  "has_next": true,
  "next_cursor": "118031",
  "total": 851122
}
```

### Search sentences

Search Tatoeba's corpus of example sentences with the full set of filters the site offers: text, language, length, tags, sentence lists, who wrote it, whether it has audio, and what it has been translated into. Returns a page of sentences plus a cursor for the next one.

**Inputs**

- Sentence languages (`languages`, text, required): The language(s) the sentences must be written in. Tatoeba requires at least one; picking several returns sentences in any of them. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Search text (`query`, text): Words the sentence must contain. Wrap in double quotes for an exact phrase ("good morning"). Leave blank to browse everything matching the other filters.
- Sort by (`sort`, text): The order results come back in. 'Best match first' only means something with a search query. Defaults to 'relevance'. One of: `relevance` (Best match first), `-created` (Newest first), `created` (Oldest first), `-modified` (Recently modified first), `modified` (Least recently modified first), `words` (Fewest words first), `-words` (Most words first), `random`. Default: `relevance`.
- Number of sentences (`limit`, number): How many sentences to return, from 1 to 500 (Tatoeba's cap). Defaults to 20. From 1 to 500. Default: `20`.
- Page cursor (`after`, text): Leave blank for the first page. To get the next page, pass the 'next_cursor' this action returned last time. Use a sort other than Random when paging: a random sort reshuffles on every request.
- Also include (`include_extras`, text): Extra data to attach to each sentence. Leave blank for neither. One or more of: `audios` (Audio recordings), `transcriptions` (Transcriptions (other scripts, romanisation)).
- Minimum words (`min_words`, number): Only return sentences with at least this many words. For languages written without spaces, Tatoeba counts characters instead. At least 1.
- Maximum words (`max_words`, number): Only return sentences with at most this many words. Pair with 'Minimum words' to ask for a range. At least 1.
- Written by (`owner`, text): A Tatoeba username. Separate several with commas, or prefix with ! to exclude them.
- Orphan sentences (`is_orphan`, text): Orphan sentences are ones nobody owns any more. Choose No to leave them out. Leave blank for either. One of: `yes`, `no`.
- Unapproved sentences (`is_unapproved`, text): Tatoeba marks sentences whose correctness is in doubt as unapproved (shown in red on the site). Choose No to leave them out. Leave blank for either. One of: `yes`, `no`.
- Written by a native speaker (`is_native`, text): Only sentences owned by a member who says they are a native speaker of the language. Leave blank for either. One of: `yes`, `no`.
- Has audio recording (`has_audio`, text): Only sentences that have (or have no) audio. Leave blank for either. One of: `yes`, `no`.
- Tags (`tags`, list): Only sentences carrying every tag listed here, for example 'idiom' or 'proverb'. Prefix a tag with ! to exclude it instead.
- Sentence list IDs (`list_ids`, list): Only sentences that appear on every Tatoeba list given here. A list id is the number in its URL, for example 907 in tatoeba.org/en/sentences_lists/show/907.
- Origin (`origin`, text): Whether the sentence was written from scratch or added as a translation of another sentence. Leave blank for any origin. One of: `original` (Original (not added as a translation of another sentence)), `translation` (Translation (added as a translation of another sentence)), `known` (Known origin (either of the above)), `unknown` (Unknown origin).
- Licence (`licenses`, text): Only sentences under these licences. Leave blank for Tatoeba's default, which is everything except sentences flagged as having a licensing problem. One or more of: `CC BY 2.0 FR`, `CC0 1.0`, `PROBLEM` (Has a licensing problem).
- Has translations in (`translation_languages`, text): Only sentences that have a translation in one of these languages. Those translations are returned with each sentence. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Translation is direct (`translation_is_direct`, text): Choose Yes to require a translation linked straight to the sentence, No to require a translation of one of its translations. Leave blank for either. One of: `yes`, `no`.
- Translation written by (`translation_owner`, text): Only sentences translated by this Tatoeba username. Separate several with commas, or prefix with ! to exclude them.
- Translation is unapproved (`translation_is_unapproved`, text): Choose No to require that the matched translation is not marked unapproved. Leave blank for either. One of: `yes`, `no`.
- Translation is an orphan (`translation_is_orphan`, text): Choose No to require that the matched translation is still owned by someone. Leave blank for either. One of: `yes`, `no`.
- Translation by a native speaker (`translation_is_native`, text): Only sentences whose translation is owned by a member who says they are a native speaker. Leave blank for either. One of: `yes`, `no`.
- Translation has audio (`translation_has_audio`, text): Only sentences whose translation has an audio recording. Leave blank for either. One of: `yes`, `no`.
- Has any translation (`has_translations`, text): Choose Yes for sentences that have been translated at all, No for ones that have never been translated. Leave blank for either. One of: `yes`, `no`.
- Translations to return (`show_translations`, text): Which translations come back with each sentence. Defaults to only those matching the translation filters above. Ignored if you set any of the 'Only show translations …' filters, which pick the translations themselves. One of: `matching` (Only translations matching the translation filters below), `all` (All translations), `none` (No translations).
- Only show translations in (`show_translation_languages`, text): Narrow the translations that come back to these languages. This only changes what is displayed, not which sentences match. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Only show direct translations (`show_translations_direct`, text): Choose Yes for translations linked straight to the sentence, No for translations of its translations. Leave blank for either. One of: `yes`, `no`.
- Only show translations owned by (`show_translations_owner`, text): A Tatoeba username whose translations to show. Separate several with commas, or prefix with ! to leave theirs out.
- Only show unapproved translations (`show_translations_unapproved`, text): Choose No to leave translations marked unapproved out of the results. Leave blank for either. One of: `yes`, `no`.
- Only show orphan translations (`show_translations_orphan`, text): Orphan translations are ones nobody owns any more. Choose No to leave them out. Leave blank for either. One of: `yes`, `no`.
- Only show native-speaker translations (`show_translations_native`, text): Only translations owned by a member who says they are a native speaker of that language. Leave blank for either. One of: `yes`, `no`.
- Only show translations with audio (`show_translations_with_audio`, text): Only translations that have an audio recording. Ask for audio under 'Also include' to get the recordings themselves. Leave blank for either. One of: `yes`, `no`.

**Outputs**

- `has_next` (true/false)
- `next_cursor` (text)
- `sentences` (list)
- `total` (number)

**Example output**

```json
{
  "has_next": true,
  "next_cursor": "16777174.000000,2258234",
  "sentences": [
    {
      "id": 2258234,
      "is_unapproved": false,
      "lang": "eng",
      "language_name": "English",
      "license": "CC BY 2.0 FR",
      "owner": "_undertoad",
      "owner_url": "https://tatoeba.org/en/user/profile/_undertoad",
      "script": null,
      "text": "Good morning.",
      "translations": [
        {
          "id": 335372,
          "is_direct": true,
          "is_unapproved": false,
          "lang": "jpn",
          "language_name": "Japanese",
          "license": "CC BY 2.0 FR",
          "owner": "Aurix",
          "owner_url": "https://tatoeba.org/en/user/profile/Aurix",
          "script": null,
          "text": "\u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002",
          "url": "https://tatoeba.org/en/sentences/show/335372"
        }
      ],
      "url": "https://tatoeba.org/en/sentences/show/2258234"
    }
  ],
  "total": 128
}
```

### Translate a word or phrase

Find how real people say a word or phrase in other languages, by looking it up in Tatoeba's corpus and returning the human-written translations of the sentences that contain it. Unlike a machine translator this always answers with sentences somebody actually wrote, each with a link to its page.

**Inputs**

- Word or phrase (`text`, text, required): The word or phrase to look up.
- From language (`from_language`, text, required): The language the word or phrase is written in. One of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Into languages (`into_languages`, text, required): The language(s) to translate into. Pick several to get them all in one step. One or more of: `abq` (Abaza (abq)), `abk` (Abkhaz (abk)), `ady` (Adyghe (ady)), `afh` (Afrihili (afh)), `afr` (Afrikaans (afr)), `ain` (Ainu (ain)), `akl` (Aklanon (akl)), `sqi` (Albanian (sqi)), `arq` (Algerian Arabic (arq)), `amh` (Amharic (amh)), and 420 more.
- Match (`match_type`, text): Whether the text has to appear as an exact phrase or just as a set of words somewhere in the sentence. One of: `phrase` (Exact phrase), `words` (All of these words, in any order). Default: `phrase`.
- Direct translations only (`direct_only`, text): Choose Yes to accept only translations linked straight to the matched sentence, which are usually the more reliable ones. Leave blank for either. One of: `yes`, `no`.
- Translation has audio (`translation_has_audio`, text): Choose Yes to accept only translations that somebody has recorded. Leave blank for either. One of: `yes`, `no`.
- Number of matching sentences (`limit`, number): How many matching sentences to draw translations from, from 1 to 500. Defaults to 10. From 1 to 500. Default: `10`.

**Outputs**

- `from_language` (text)
- `into_languages` (list)
- `match_count` (number)
- `matches` (list)
- `translation_count` (number)
- `translations` (list)

**Example output**

```json
{
  "from_language": "eng",
  "from_language_name": "English",
  "into_languages": [
    "jpn"
  ],
  "match_count": 12,
  "matches": [
    {
      "id": 2258234,
      "is_unapproved": false,
      "lang": "eng",
      "language_name": "English",
      "license": "CC BY 2.0 FR",
      "owner": "_undertoad",
      "owner_url": "https://tatoeba.org/en/user/profile/_undertoad",
      "script": null,
      "text": "Good morning.",
      "translations": [
        {
          "id": 335372,
          "is_direct": true,
          "is_unapproved": false,
          "lang": "jpn",
          "language_name": "Japanese",
          "license": "CC BY 2.0 FR",
          "owner": "Aurix",
          "owner_url": "https://tatoeba.org/en/user/profile/Aurix",
          "script": null,
          "text": "\u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002",
          "url": "https://tatoeba.org/en/sentences/show/335372"
        }
      ],
      "url": "https://tatoeba.org/en/sentences/show/2258234"
    }
  ],
  "text": "good morning",
  "translation_count": 1,
  "translations": [
    {
      "id": 335372,
      "is_direct": true,
      "is_unapproved": false,
      "lang": "jpn",
      "language_name": "Japanese",
      "license": "CC BY 2.0 FR",
      "owner": "Aurix",
      "owner_url": "https://tatoeba.org/en/user/profile/Aurix",
      "script": null,
      "text": "\u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059\u3002",
      "url": "https://tatoeba.org/en/sentences/show/335372"
    }
  ]
}
```
