Developer portal

Manage your OAuth2 apps, read the API reference and integrate Nostalgija.

Getting started

The Nostalgija API lets you create cinematic map-animation videos - route animations and Earth-zoom intros - programmatically. The same capabilities are exposed two ways:

  • REST API under /api/v1 for your own backends and scripts.
  • MCP server at /_mcp for AI agents (Claude, Gemini, Cursor) via the Model Context Protocol.

Both authenticate with OAuth 2.1 access tokens and share the same scopes and credit model.

1. Create an app

Go to My apps and create an OAuth2 application. You will get a client_id and a client_secret (shown once). Choose the scopes you need:

  • video:read - list videos and read render status.
  • video:create - create videos (each one spends one export credit).

2. Get an access token

Run the OAuth 2.1 authorization-code + PKCE flow to obtain a token. The full procedure is on the Authentication page.

3. Call the API

Create a route-animation video:

curl -X POST https://nostalgija.net/api/v1/videos \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "route",
    "origin": "Zagreb",
    "destination": "Split",
    "vehicle_icon": "car",
    "camera_follow": true,
    "resolution": "1920x1080"
  }'

The response returns a video id and status: "pending". Rendering is asynchronous - poll until it completes:

curl https://nostalgija.net/api/v1/videos/42 \
  -H "Authorization: Bearer $ACCESS_TOKEN"

When status becomes complete, the response includes a download_url. Fetch it with the same Bearer token to download the MP4.

Credits and watermarks

Each created video costs one export credit. Accounts without paid credits produce watermarked videos. These rules are identical across the web wizard, the REST API and the MCP tools.

Next steps