# Бърз старт

> Купете план, създайте ключ в акаунта си и го изпратете с първата си заявка до https://api.amodb.dev/3/movie/550. Отговорът е познатият ви JSON на TMDB v3. После изградете URL адрес на постер на img.amodb.dev от poster_path. Ако вече ползвате TMDB или OMDb, сменете само базовия URL и ключа.

## 1. Вземане на ключ

Изберете план на [страницата с цените](https://amodb.dev/bg/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 адреса от базовия 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']}"
```

Вижте [изображения](https://amodb.dev/bg/images/) за всички размери и за изграждане на URL адреси от `/3/configuration`.

## 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` и изчаквайте `Retry-After` секунди след 429. Грешките ползват тялото на TMDB с `success`, `status_code` и `status_message`.

Прочетете [лимитите на заявките](https://amodb.dev/bg/rate-limits/) и [грешките](https://amodb.dev/bg/errors/), преди да преминете в продукционна среда.

## Въпроси и отговори

### Къде да намеря ключа си?

Влезте на amodb.dev, отворете Акаунт, после API ключове, и създайте ключ. Пълният ключ се показва веднъж, затова го копирайте веднага в хранилището си за тайни.

### Мога ли да ползвам ключа в приложение в браузър?

Само зад собствен сървър. Ключ в клиентски код е публичен и всеки, който го копира, ползва скоростта на заявките ви.

## Свързани страници

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

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