# Хуткі старт

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

## 1. Атрымайце ключ

Абярыце план на [старонцы з цэнамі](https://amodb.dev/be/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/be/images/).

## 4. Перанясіце існуючы кліент

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

Метады запісу TMDB для account, session, rating і list не прапануюцца. Яны вяртаюць HTTP 405 са `status_code` 37, таму кліенту, які толькі чытае, іншых змен не трэба.

## 5. Улічыце ліміты і памылкі

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

Прачытайце [ліміты запытаў](https://amodb.dev/be/rate-limits/) і [памылкі](https://amodb.dev/be/errors/), перш чым пераходзіць у прадакшн.

## Пытанні і адказы

### Дзе знайсці мой ключ?

Увайдзіце на amodb.dev, адкрыйце Акаўнт, потым Ключы API і стварыце ключ. Поўны ключ паказваецца адзін раз, таму адразу скапіруйце яго ў сваё сховішча сакрэтаў.

### Ці магу я выкарыстоўваць ключ у праграме ў браўзеры?

Толькі праз ваш уласны сервер. Ключ у кліенцкім кодзе публічны, і любы, хто яго скапіруе, расходуе ваш ліміт запытаў.

## Звязаныя старонкі

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

Абноўлена: 2026-10-18. Source: https://amodb.dev/be/quickstart/
