# Autocomplete — Zapi reference > What each platform thinks you are about to type — search suggestions from engines, marketplaces and media catalogues. **Base URL:** `https://api.zapi.ink` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a key at https://zapi.ink/dashboard/keys (free tier — 600 req/mo, no credit card). **Response envelope:** `{ status: "success" | "error", message: string, content: }` **Rate limit:** 60 req/min (free tier). Per-endpoint cache TTL is documented below. **Errors:** standard HTTP codes (`401` invalid key, `429` rate limited, `5xx` upstream). Body always has `{ status: "error", message, errors? }`. ```bash curl "https://api.zapi.ink/v1/CATEGORY:SCRAPER/ENDPOINT?param=value" \ -H "x-api-key: $ZAPI_KEY" ``` **Category page:** https://zapi.ink/category/autocomplete **Full catalog:** https://zapi.ink/apis · **Index:** https://zapi.ink/llms-full.txt --- ## Google Autocomplete **Category:** autocomplete · **Slug:** `google` **Detail page:** https://zapi.ink/api/autocomplete/google Google's suggestion lists across five surfaces — web, YouTube, Images, local and Scholar. The same endpoint returns a different universe per surface. **Tags:** google, suggest, keyword-research, seo, youtube ### Web Web search autocomplete, with relevance scores. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:google/web` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `lang` | string | query | no | UI language, two letters. Default id | | `region` | string | query | no | Country bias, two letters. Default ID | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:google/web?q=cara%20membuat&lang=id®ion=ID&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:google/web?q=cara%20membuat&lang=id®ion=ID&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:google/web?q=cara%20membuat&lang=id®ion=ID&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 15, "items": [ { "text": "cara membuat cv", "relevance": 601 }, { "text": "cara membuat npwp online", "relevance": 600 }, { "text": "cara membuat cv lamaran kerja", "relevance": 562 }, { "text": "cara membuat email baru", "relevance": 561 }, { "text": "cara membuat npwp", "relevance": 560 }, { "text": "cara membuat daftar isi otomatis", "relevance": 559 }, { "text": "cara membuat martabak manis", "relevance": 558 }, { "text": "cara membuat cireng", "relevance": 557 } ], "query": "cara membuat", "locale": "id-ID", "surface": "web", "provider": "google" } ``` --- ### YouTube Video search autocomplete. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:google/youtube` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `lang` | string | query | no | UI language, two letters. Default id | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:google/youtube?q=cara%20membuat&lang=id&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:google/youtube?q=cara%20membuat&lang=id&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:google/youtube?q=cara%20membuat&lang=id&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 14, "items": [ { "text": "cara membuat layangan" }, { "text": "cara membuat daftar isi otomatis word" }, { "text": "cara membuat donat" }, { "text": "cara membuat slime" }, { "text": "cara membuat cireng" }, { "text": "cara membuat bolu pisang" }, { "text": "cara membuat pesawat dari kertas" }, { "text": "cara membuat cilok" } ], "query": "cara membuat", "locale": "id", "surface": "youtube", "provider": "google" } ``` --- ### Images Image search autocomplete. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:google/images` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `lang` | string | query | no | UI language, two letters. Default id | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:google/images?q=kucing&lang=id&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:google/images?q=kucing&lang=id&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:google/images?q=kucing&lang=id&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "text": "kucing" }, { "text": "kucing persia", "highlighted": "kucing persia" }, { "text": "kucing lucu", "highlighted": "kucing lucu" }, { "text": "kucing anggora", "highlighted": "kucing anggora" }, { "text": "kucing munchkin", "highlighted": "kucing munchkin" }, { "text": "kucing hutan", "highlighted": "kucing hutan" }, { "text": "kucing bengal", "highlighted": "kucing bengal" }, { "text": "kucing siam", "highlighted": "kucing siam" } ], "query": "kucing", "locale": "id", "surface": "images", "provider": "google" } ``` --- ### Local Places and local search autocomplete. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:google/local` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `lang` | string | query | no | UI language, two letters. Default id | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:google/local?q=restoran&lang=id&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:google/local?q=restoran&lang=id&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:google/local?q=restoran&lang=id&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "text": "restoran jakarta", "highlighted": "restoran jakarta" }, { "text": "restoran jakarta selatan", "highlighted": "restoran jakarta selatan" }, { "text": "restoran terdekat", "highlighted": "restoran terdekat" }, { "text": "restoran" }, { "text": "restoran terdekat dari lokasi saya", "highlighted": "restoran terdekat dari lokasi saya" }, { "text": "restoran jakarta timur", "highlighted": "restoran jakarta timur" }, { "text": "restoran kelapa gading", "highlighted": "restoran kelapa gading" }, { "text": "restoran di grand indonesia", "highlighted": "restoran di grand indonesia" } ], "query": "restoran", "locale": "id", "surface": "local", "provider": "google" } ``` --- ### Scholar Academic search autocomplete. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:google/scholar` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `lang` | string | query | no | UI language, two letters. Default id | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:google/scholar?q=machine%20learning&lang=id&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:google/scholar?q=machine%20learning&lang=id&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:google/scholar?q=machine%20learning&lang=id&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "text": "machine learning algorithms" }, { "text": "machine learning approach" }, { "text": "machine learning techniques" }, { "text": "machine learning models" }, { "text": "machine learning methods" }, { "text": "machine learning applications" }, { "text": "machine learning review" }, { "text": "machine learning classification" } ], "query": "machine learning", "locale": "id", "surface": "scholar", "provider": "google" } ``` --- ### Expand Expand one seed into the many real queries people type — the seed with every letter, question word and preposition appended, deduplicated. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:google/expand` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed to expand | | `surface` | enum(web|youtube|images|local|scholar) | query | no | Which Google suggestion universe to expand. Default web | | `modifiers` | enum(all|alphabet|questions|prepositions|digits) | query | no | Which modifier sets to append. Default all | | `lang` | enum(id|en) | query | no | Language for the question and preposition sets. Default id | | `count` | number | query | no | Cap the returned list. Default: every unique query found | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:google/expand?q=cara%20membuat&surface=web&modifiers=all&lang=id&count=200" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:google/expand?q=cara%20membuat&surface=web&modifiers=all&lang=id&count=200", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:google/expand?q=cara%20membuat&surface=web&modifiers=all&lang=id&count=200", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "seed": "cara membuat", "count": 558, "items": [ { "via": "alphabet", "text": "cara membuat akun google" }, { "via": "alphabet", "text": "cara membuat akun" }, { "via": "alphabet", "text": "cara membuat akun spmb" }, { "via": "alphabet", "text": "cara membuat akun google baru" }, { "via": "alphabet", "text": "cara membuat anak" }, { "via": "alphabet", "text": "cara membuat ayam kecap" }, { "via": "alphabet", "text": "cara membuat akta kelahiran" }, { "via": "alphabet", "text": "cara membuat asinan buah" } ], "locale": "id", "surface": "web", "provider": "google", "modifiers": "all", "truncated": false, "variantsTried": 44, "variantsFailed": 0 } ``` --- ## IMDb Autocomplete **Category:** autocomplete · **Slug:** `imdb-autocomplete` **Detail page:** https://zapi.ink/api/autocomplete/imdb-autocomplete IMDb title and name autocomplete — returns records with ids, years, posters and cast, not just query strings. **Tags:** imdb, movie, tv, autocomplete ### Autocomplete Titles and names matching a seed. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/autocomplete` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Title or name to complete | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/autocomplete?q=kucing&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/autocomplete?q=kucing&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/autocomplete?q=kucing&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 8, "items": [ { "id": "tt43408259", "url": "https://www.imdb.com/title/tt43408259/", "cast": "Keiko Ananta, La Rheina Isabelle Bishop", "rank": 248370, "text": "Kucing Hitam", "type": "movie", "year": 2026 }, { "id": "tt7144986", "url": "https://www.imdb.com/title/tt7144986/", "cast": "Masayu Anastasia, Adi Nugroho", "rank": 940051, "text": "12:06 Rumah Kucing", "type": "movie", "year": 2017, "image": "https://m.media-amazon.com/images/M/MV5BNGEwY2NkOTgtMjEyMi00ZTQ2LWJkNWQtNjk5NTUxNjJjY2I0XkEyXkFqcGc@._V1_.jpg" }, { "id": "tt9277738", "url": "https://www.imdb.com/title/tt9277738/", "cast": "Aline Adita, Natalius Chendana", "rank": 1357627, "text": "Rawa Kucing", "type": "short", "year": 2013, "image": "https://m.media-amazon.com/images/M/MV5BNGI4ZTMwNjUtN2ZjMC00M2Q4LWJiMzEtN2Q0ZTcxNDJmMGJhXkEyXkFqcGc@._V1_.jpg" }, { "id": "tt13469414", "url": "https://www.imdb.com/title/tt13469414/", "cast": "Harith Haziq, Rayyan Dino", "rank": 1619194, "text": "Kucing Air", "type": "short", "year": 2019, "image": "https://m.media-amazon.com/images/M/MV5BYWFlNjJhZTUtMjRiMC00N2ZkLWIwMmUtYzY2ZTliZDFiYTE5XkEyXkFqcGc@._V1_.jpg" }, { "id": "tt9699148", "url": "https://www.imdb.com/title/tt9699148/", "cast": "Judith Cabral, Sarah Natochenny", "rank": 85775, "text": "44 Cats", "type": "tvSeries", "year": 2018, "image": "https://m.media-amazon.com/images/M/MV5BOTM0ODFhNjktMzZkYS00ZmNiLTlmYzYtM2UxMzQwOGU2YWYwXkEyXkFqcGc@._V1_.jpg" }, { "id": "tt32378496", "url": "https://www.imdb.com/title/tt32378496/", "cast": "Ana Tasya Lalita, Muhammad Redho", "rank": 2262933, "text": "Kucing Zel Zel", "type": "tvMiniSeries", "year": 2021, "image": "https://m.media-amazon.com/images/M/MV5BY2NkMTYyMDgtNTJkZC00MjUxLTk3OGQtNGYxOWI1ZjliMzE3XkEyXkFqcGc@._V1_.jpg" }, { "id": "tt35670577", "url": "https://www.imdb.com/title/tt35670577/", "cast": "Kate Mara, Rooney Mara", "rank": 1699, "text": "Bucking Fastard", "type": "movie", "year": 2026, "image": "https://m.media-amazon.com/images/M/MV5BZjcxMzc5ZjctODg1NS00N2JkLTg5NDgtMDgwNmUzZTg5OGQxXkEyXkFqcGc@._V1_.jpg" }, { "id": "tt10681410", "url": "https://www.imdb.com/title/tt10681410/", "rank": 2655882, "text": "Kucing Menangis", "type": "tvSeries", "year": 2018 } ], "query": "kucing", "provider": "imdb" } ``` --- ### Expand Enumerate titles — the seed with every letter appended, deduplicated. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/expand` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed to expand | | `modifiers` | enum(all|alphabet|questions|prepositions|digits) | query | no | Which modifier sets to append. Default all | | `lang` | enum(id|en) | query | no | Language for the question and preposition sets. Default en | | `count` | number | query | no | Cap the returned list. Default: every unique result found | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/expand?q=kucing&modifiers=all&lang=en&count=200" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/expand?q=kucing&modifiers=all&lang=en&count=200", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:imdb-autocomplete/expand?q=kucing&modifiers=all&lang=en&count=200", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "seed": "kucing", "count": 82, "items": [ { "via": "seed", "text": "Kucing Hitam" }, { "via": "seed", "text": "12:06 Rumah Kucing" }, { "via": "seed", "text": "Rawa Kucing" }, { "via": "seed", "text": "Kucing Air" }, { "via": "seed", "text": "44 Cats" }, { "via": "seed", "text": "Kucing Zel Zel" }, { "via": "seed", "text": "Bucking Fastard" }, { "via": "seed", "text": "Kucing Menangis" } ], "locale": "en", "provider": "imdb", "modifiers": "alphabet", "truncated": false, "variantsTried": 27, "variantsFailed": 0 } ``` --- ## Yahoo Autocomplete **Category:** autocomplete · **Slug:** `yahoo-autocomplete` **Detail page:** https://zapi.ink/api/autocomplete/yahoo-autocomplete Yahoo search autocomplete. **Tags:** yahoo, autocomplete, keyword-research ### Autocomplete Completions for a seed query. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/autocomplete` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/autocomplete?q=cara%20membuat&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/autocomplete?q=cara%20membuat&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/autocomplete?q=cara%20membuat&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "text": "cara membuat daftar isi secara otomatis" }, { "text": "cara membuat google form" }, { "text": "cara membuat npwp pribadi secara online" }, { "text": "cara membuat halaman di word" }, { "text": "cara membuat daftar pustaka" }, { "text": "cara membuat google drive" }, { "text": "cara membuat daftar isi" }, { "text": "cara membuat barcode" } ], "query": "cara membuat", "provider": "yahoo" } ``` --- ### Expand Expand one seed into the many real queries people type — the seed with every letter, question word and preposition appended, deduplicated. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/expand` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed to expand | | `modifiers` | enum(all|alphabet|questions|prepositions|digits) | query | no | Which modifier sets to append. Default all | | `lang` | enum(id|en) | query | no | Language for the question and preposition sets. Default id | | `count` | number | query | no | Cap the returned list. Default: every unique result found | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/expand?q=cara%20membuat&modifiers=all&lang=id&count=200" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/expand?q=cara%20membuat&modifiers=all&lang=id&count=200", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:yahoo-autocomplete/expand?q=cara%20membuat&modifiers=all&lang=id&count=200", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "seed": "cara membuat", "count": 54, "items": [ { "via": "seed", "text": "cara membuat daftar isi secara otomatis" }, { "via": "seed", "text": "cara membuat google form" }, { "via": "seed", "text": "cara membuat npwp pribadi secara online" }, { "via": "seed", "text": "cara membuat halaman di word" }, { "via": "seed", "text": "cara membuat daftar pustaka" }, { "via": "seed", "text": "cara membuat google drive" }, { "via": "seed", "text": "cara membuat daftar isi" }, { "via": "seed", "text": "cara membuat barcode" } ], "locale": "id", "provider": "yahoo", "modifiers": "questions", "truncated": false, "variantsTried": 10, "variantsFailed": 0 } ``` --- ## Yandex Autocomplete **Category:** autocomplete · **Slug:** `yandex` **Detail page:** https://zapi.ink/api/autocomplete/yandex Yandex search suggestions. The index is Russian-centric; other languages return fewer or no completions. **Tags:** yandex, suggest, keyword-research ### Autocomplete Completions for a seed query. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:yandex/autocomplete` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed text to complete | | `count` | number | query | no | Cap the list. Default: everything the upstream returns | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:yandex/autocomplete?q=cat&count=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:yandex/autocomplete?q=cat&count=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:yandex/autocomplete?q=cat&count=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "text": "caterpillar 2010" }, { "text": "catur online" }, { "text": "catch me if you can full movie" }, { "text": "catch me if you can film 2002" }, { "text": "cathay pacific airways" }, { "text": "catawiki" }, { "text": "catgpt на русском" }, { "text": "cataz" } ], "query": "cat", "provider": "yandex" } ``` --- ### Expand Expand one seed into the many real queries people type — the seed with every letter, question word and preposition appended, deduplicated. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/autocomplete:yandex/expand` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Seed to expand | | `modifiers` | enum(all|alphabet|questions|prepositions|digits) | query | no | Which modifier sets to append. Default all | | `lang` | enum(id|en) | query | no | Language for the question and preposition sets. Default en | | `count` | number | query | no | Cap the returned list. Default: every unique result found | **cURL:** ```bash curl "https://api.zapi.ink/v1/autocomplete:yandex/expand?q=cat&modifiers=all&lang=en&count=200" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/autocomplete:yandex/expand?q=cat&modifiers=all&lang=en&count=200", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/autocomplete:yandex/expand?q=cat&modifiers=all&lang=en&count=200", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "seed": "cat", "count": 386, "items": [ { "via": "alphabet", "text": "cat and dog" }, { "via": "alphabet", "text": "cat and sofa" }, { "via": "alphabet", "text": "cat art" }, { "via": "alphabet", "text": "cat animal" }, { "via": "alphabet", "text": "cat animation" }, { "via": "alphabet", "text": "cat and sofa кроссовки" }, { "via": "alphabet", "text": "cat anatomy" }, { "via": "alphabet", "text": "cat and mouse" } ], "locale": "en", "provider": "yandex", "modifiers": "all", "truncated": false, "variantsTried": 44, "variantsFailed": 0 } ``` ---