Introduction
This API provides programmatic access to information about fanedits hosted on Fanedit.org. You can retrieve lists of fanedits, search for specific edits, and get detailed information including metadata, changes, and ratings.
Note: This API does not host any fanedits or media files. It only provides metadata and links to the original content on Fanedit.org.
The base URL for the API is: https://fanedit.mcgown.dev.
API Endpoints
GET
/catalog
Retrieve a list of fanedits. Supports filtering and pagination via query parameters.
Query Parameters:
search(string, optional): Search Fanedit.org by keyword. Search takes precedence over the genre filter.skip(integer, optional): Number of items to skip (0, 50, 100, and so on).genre(string, optional): Filter by genre ID.
Example Request:
GET /catalog?search=Star+Wars&genre=restoration&skip=50
Example Response (200 OK):
{
"data": [
{
"id": "...",
"title": "Star Wars: Episode IV - A New Hope Revisited",
"url": "https://fanedit.org/ifdb/star-wars-episode-iv-a-new-hope-revisited/",
"thumbnailUrl": "https://ifdbphoto.tor1.cdn.digitaloceanspaces.com/thumbnail/example.jpg",
"faneditorName": ["Adywan"],
"originalMovieTitles": ["Star Wars: Episode IV - A New Hope"],
// ... other FaneditMetadata fields
},
// ... more fanedits
]
}
GET
/edit/{id}
Retrieve details for a specific fanedit.
Path Parameters:
id(string, required): The base64 encoded URL of the fanedit page, URL-encoded when placed in the path.
Example Request:
GET /edit/aHR0cHM6Ly9mYW5lZGl0Lm9yZy9pZmRiL3N0YXItd2Fycy1lcGlzb2RlLWl2LWEtbmV3LWhvcGUtcmV2aXNpdGVkLw==
Example Response (200 OK):
{
"data": {
"id": "aHR0cHM6Ly9mYW5lZGl0Lm9yZy9pZmRiL3N0YXItd2Fycy1lcGlzb2RlLWl2LWEtbmV3LWhvcGUtcmV2aXNpdGVkLw==",
"title": "Star Wars: Episode IV - A New Hope Revisited",
"url": "https://fanedit.org/ifdb/star-wars-episode-iv-a-new-hope-revisited/",
"thumbnailUrl": "https://ifdbphoto.tor1.cdn.digitaloceanspaces.com/thumbnail/example.jpg",
"rating": { "editor": 5.0, "user": 4.8, "userCount": 210 },
"lastUpdated": "2023-05-04",
"views": 12345,
"faneditorName": ["Adywan"],
"originalMovieTitles": ["Star Wars: Episode IV - A New Hope"],
"faneditType": "Restoration",
"releaseDate": "2017-12-15",
"runningTime": "125 mins",
"subtitles": "English",
"synopsis": "A revised version...",
"trailer": "https://www.youtube.com/embed/...",
"changes": [
{ "title": "Color Correction", "value": "Complete film regraded..." },
{ "title": "Added Scene", "value": "Restored Biggs scenes..." }
]
// ... other fields
}
}
GET /genres
Returns the supported genre, franchise and edit type IDs for the catalog's genre filter. Thumbnails are served directly by Fanedit.org's image CDN.
Caching and data source
Metadata is currently extracted from public Fanedit.org pages. This is an independent API, not an official Fanedit.org service.
Successful page snapshots are stored in KV without an expiration. Catalog and search pages are refreshed on demand after 24 hours, and edit details after 7 days. Cached data is returned immediately while stale snapshots refresh in the background. If the source is unavailable, the last successful snapshot remains available regardless of its age, with a one-hour delay before retrying.
Data Models
FaneditMetadata
Represents the detailed information about a fanedit.
{
"id": "string (base64)",
"title": "string",
"url": "string (url)",
"thumbnailUrl": "string (url)",
"rating": {
"editor": "number (float)",
"user": "number (float)",
"userCount": "integer"
},
"lastUpdated": "string",
"views": "integer",
"photoCount": "integer",
"favoriteCount": "integer",
"faneditorName": ["string"],
"originalMovieTitles": ["string"],
"faneditType": "string",
"releaseDate": "string",
"runningTime": "string",
"subtitles": "string",
"synopsis": "string",
"trailer": "string (url, optional)",
"changes": [
{
"title": "string",
"value": "string"
}
]
}