# Avvio rapido

> Acquista un piano, crea una chiave nel tuo account e inviala con la prima richiesta a https://api.amodb.dev/3/movie/550. La risposta è il JSON TMDB v3 che già conosci. Poi costruisci l'URL della locandina su img.amodb.dev da poster_path. Se usi già TMDB o OMDb, cambia solo l'URL di base e la chiave.

## 1. Ottieni una chiave

Scegli un piano nella [pagina dei prezzi](https://amodb.dev/it/pricing/) e paga un periodo. Poi apri **Account**, quindi **Chiavi API**, e crea una chiave. Una chiave è di 32 caratteri esadecimali minuscoli, la stessa forma di una chiave TMDB v3.

La chiave completa viene mostrata una sola volta. Salvala in una variabile d'ambiente chiamata `AMODB_KEY`, così gli esempi di questa pagina funzionano così come sono.

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

## 2. Richiedi i dettagli di un film

Chiama `GET /3/movie/{movie_id}`. Invia la chiave come token Bearer o come `api_key` nella query. Entrambi sono accettati su ogni endpoint.

```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)
}
```

Una risposta 200 ha i campi di TMDB v3. Una piccola parte:

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

## 3. Carica la locandina

Unisci l'URL di base delle immagini, una dimensione e `poster_path`. Le immagini non richiedono chiave e restano in cache per 30 giorni.

```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']}"
```

Vedi [immagini](https://amodb.dev/it/images/) per tutte le dimensioni e per costruire gli URL da `/3/configuration`.

## 4. Sposta un client esistente

Per un client TMDB v3, cambia l'URL di base da `https://api.themoviedb.org/3` a `https://api.amodb.dev/3` e usa la tua chiave amodb. Per un client OMDb, cambialo in `https://api.amodb.dev/omdb/` e passa la stessa chiave come `apikey`.

I metodi di scrittura di TMDB per account, sessioni, valutazioni e liste non sono offerti. Restituiscono HTTP 405 con `status_code` 37, quindi un client di sola lettura non richiede altre modifiche.

## 5. Gestisci limiti ed errori

Ogni chiave ha una frequenza al minuto stabilita dal suo piano. Leggi `X-RateLimit-Remaining` e attendi i secondi di `Retry-After` dopo un 429. Gli errori usano il corpo TMDB con `success`, `status_code` e `status_message`.

Leggi i [limiti di richieste](https://amodb.dev/it/rate-limits/) e gli [errori](https://amodb.dev/it/errors/) prima di andare in produzione.

## Domande e risposte

### Dove trovo la mia chiave?

Accedi ad amodb.dev, apri Account e poi Chiavi API, e crea una chiave. La chiave completa viene mostrata una sola volta, quindi copiala subito nel tuo archivio dei segreti.

### Posso usare la chiave in un'app nel browser?

Solo dietro il tuo server. Una chiave nel codice lato client è pubblica, e chiunque la copi usa la tua frequenza di richieste.

## Pagine correlate

- [Autenticazione](https://amodb.dev/it/authentication/): Come inviare la chiave amodb: api_key nella query, un header Authorization Bearer o apikey per le chiamate OMDb. Formato, conservazione, rotazione, errori 401.
- [Immagini](https://amodb.dev/it/images/): Carica locandine, sfondi e foto dei profili da img.amodb.dev con percorsi e dimensioni TMDB da w92 a original. Nessuna chiave, cache di 30 giorni, uno schema.
- [Errori](https://amodb.dev/it/errors/): Ogni errore di amodb con stato HTTP, status_code e messaggio TMDB, più la forma dell'errore OMDb. Cosa significa ciascuno e cosa deve fare il tuo client.
- [Limiti di richieste](https://amodb.dev/it/rate-limits/): amodb limita ogni chiave per richieste al minuto in una finestra scorrevole di 60 secondi: 20, 40 o 120 in base al piano. Leggi gli header, gestisci il 429.

Aggiornato: 2026-10-18. Source: https://amodb.dev/it/quickstart/
