# Швидкий старт

> Придбайте тариф, створіть ключ в акаунті й надішліть його з першим запитом до https://api.amodb.dev/3/movie/550. Відповідь це JSON TMDB v3, який ви вже знаєте. Потім побудуйте URL постера на img.amodb.dev із poster_path. Якщо ви вже використовуєте TMDB або OMDb, змініть лише базовий URL і ключ.

## 1. Отримайте ключ

Оберіть тариф на [сторінці цін](https://amodb.dev/uk/pricing/) і оплатіть період. Потім відкрийте **Акаунт**, потім **Ключі API** і створіть ключ. Ключ складається з 32 шістнадцяткових символів нижнього регістру, тієї самої форми, що й ключ TMDB v3.

Повний ключ показується один раз. Збережіть його у змінній середовища з назвою `AMODB_KEY`, щоб приклади на цій сторінці працювали без змін.

```bash
export AMODB_KEY="0123456789abcdef0123456789abcdef"
```

## 2. Запросіть деталі фільму

Викличте `GET /3/movie/{movie_id}`. Надішліть ключ як токен Bearer або як `api_key` у запиті. Обидва способи приймаються на кожному ендпоінті.

```bash
curl "https://api.amodb.dev/3/movie/550?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const res = await fetch("https://api.amodb.dev/3/movie/550?language=en-US", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) throw new Error(`amodb ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.runtime);
```

```python
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/movie/550",
    params={"language": "en-US"},
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
res.raise_for_status()
movie = res.json()
print(movie["title"], movie["runtime"])
```

```php
<?php
$ch = curl_init("https://api.amodb.dev/3/movie/550?language=en-US");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("AMODB_KEY")],
]);
$movie = json_decode(curl_exec($ch), true);
echo $movie["title"] . " " . $movie["runtime"];
```

```go
package main

import (
	"encoding/json"
	"fmt"
	"log"
	"net/http"
	"os"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/movie/550?language=en-US", nil)
	req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()

	var movie struct {
		Title   string `json:"title"`
		Runtime int    `json:"runtime"`
	}
	json.NewDecoder(res.Body).Decode(&movie)
	fmt.Println(movie.Title, movie.Runtime)
}
```

Відповідь 200 містить поля TMDB v3. Невелика її частина:

```json
{
  "id": 550,
  "imdb_id": "tt0137523",
  "title": "Fight Club",
  "release_date": "1999-10-15",
  "runtime": 139,
  "poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}
```

## 3. Завантажте постер

Об'єднайте базовий URL зображень, розмір і `poster_path`. Зображення не потребують ключа й лишаються в кеші 30 днів.

```bash
curl -o poster.jpg "https://img.amodb.dev/t/p/w500/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
```

```js
const poster = `https://img.amodb.dev/t/p/w500${movie.poster_path}`;
```

```python
poster = f"https://img.amodb.dev/t/p/w500{movie['poster_path']}"
```

Усі розміри та побудову URL із `/3/configuration` дивіться на сторінці [зображення](https://amodb.dev/uk/images/).

## 4. Перенесіть наявний клієнт

Для клієнта TMDB v3 змініть базовий URL з `https://api.themoviedb.org/3` на `https://api.amodb.dev/3` і використайте свій ключ amodb. Для клієнта OMDb змініть його на `https://api.amodb.dev/omdb/` і передайте той самий ключ як `apikey`.

Методи запису TMDB для акаунта, сесії, оцінок і списків не пропонуються. Вони повертають HTTP 405 зі `status_code` 37, тож клієнту лише для читання інших змін не потрібно.

## 5. Обробляйте ліміти й помилки

Кожен ключ має ліміт запитів на хвилину, який задає його тариф. Читайте `X-RateLimit-Remaining` і після 429 зачекайте `Retry-After` секунд. Помилки використовують тіло TMDB з `success`, `status_code` і `status_message`.

Прочитайте [ліміти запитів](https://amodb.dev/uk/rate-limits/) і [помилки](https://amodb.dev/uk/errors/), перш ніж переходити в продакшн.

## Запитання й відповіді

### Де знайти мій ключ?

Увійдіть на amodb.dev, відкрийте Акаунт, потім Ключі API і створіть ключ. Повний ключ показується один раз, тому одразу скопіюйте його у своє сховище секретів.

### Чи можна використовувати ключ у браузерному застосунку?

Лише за вашим власним сервером. Ключ у клієнтському коді публічний, і будь-хто, хто його скопіює, витрачає ваш ліміт запитів.

## Пов'язані сторінки

- [Автентифікація](https://amodb.dev/uk/authentication/): Як надсилати ключ amodb: api_key у запиті, заголовок Authorization Bearer або apikey для викликів OMDb. Формат ключа, зберігання, заміна та помилки 401.
- [Зображення](https://amodb.dev/uk/images/): Завантажуйте постери, фони й фото профілів з img.amodb.dev зі шляхами та розмірами TMDB від w92 до original. Без ключа, кеш 30 днів, один шаблон URL.
- [Помилки](https://amodb.dev/uk/errors/): Усі помилки amodb зі статусом HTTP, status_code і повідомленням TMDB, а також форма помилки OMDb. Що означає кожна й що має робити ваш клієнт далі.
- [Ліміти запитів](https://amodb.dev/uk/rate-limits/): amodb обмежує кожен ключ запитами на хвилину в ковзному вікні 60 секунд: 20, 40 або 120 за тарифом. Читайте заголовки ліміту й обробляйте 429 із Retry-After.

Оновлено: 2026-10-18. Source: https://amodb.dev/uk/quickstart/
