# Overview

> Read a Refract member's shows, movies and anime with the Refract API.

## Pick your path

  ### Personal scripts
    Create a key in the app and call the API from your own machine: dashboards, Home Assistant, exports.
    Your key starts with `rfk_`. [Create a key](/developers/quickstart)
  
  ### Sign in with Refract
    Let any member connect your app. OAuth 2.1 with PKCE, refresh tokens, and scopes the member approves.
    [Register an app](/developers/authentication#sign-in-with-refract)
  
  ### TVs and terminals
    No keyboard? Show a short code; the member approves it on getrefract.app/device from their phone.
    [Read the guide](/developers/authentication#tvs-consoles-and-terminals)
  

## What you can read

| Data | Endpoint | Scope |
|---|---|---|
| The member | `GET /v1/me` | `profile:read` |
| Library, with progress and rewatches | `GET /v1/library` | `library:read` |
| Watchlist | `GET /v1/watchlist` | `library:read` |
| Watched episodes | `GET /v1/history/episodes` | `history:read` |
| Movie plays | `GET /v1/history/movies` | `history:read` |
| Ratings | `GET /v1/ratings` | `ratings:read` |
| Lists and their titles | `GET /v1/lists` | `lists:read` |

Up next, the calendar, stats, a feed of changes for sync, and writes arrive in later releases. Follow the [changelog](/developers/changelog).

## Made for code and for agents

  <LinkCard title="Ids you already use" description="Every title carries its TMDB id, and IMDb and TheTVDB when we have them." href="/developers/conventions#ids" />
  <LinkCard title="Errors you can parse" description="RFC 9457 problem details with a stable code and a page that explains the fix." href="/developers/errors" />
  <LinkCard title="Limits in the headers" description="RateLimit and Retry-After on every answer; revalidate with an ETag to skip unchanged downloads." href="/developers/rate-limits" />
  <LinkCard title="OpenAPI and llms.txt" description="An OpenAPI 3.1 document, llms.txt, and every page as Markdown." href="/developers/llms.txt" />
