Discover/Svensk Filmdatabas API
live

Svensk Filmdatabas APIsvenskfilmdatabas.se

Access data on Swedish films currently in production from Svensk Filmdatabas. List titles with filters, get cast, crew, and production facts by film ID.

This API takes change requests — .
Endpoints
2
Updated
2d ago

What is the Svensk Filmdatabas API?

This API exposes 2 endpoints covering Swedish films currently in production from Svensk Filmdatabas (the Swedish Film Database). The list_films_in_production endpoint returns paginated film summaries with filtering by type and country, while get_film_details returns structured production facts including cast, director, producer, screenplay, category, and year for a specific film identified by its numeric ID.

This call costs2 credits / call— charged only on success
Try it
Page number for pagination (15 items per page).
Filter by production country. Accepts exactly one of: Sverige, Belgien, Danmark, Finland, Frankrike, Grekland, Island, Litauen, Norge, Polen, Rumänien, Serbien, Spanien, Tyskland, Ukraina, USA. Omitted returns all countries.
Sort order. Accepts exactly one of: chrono_desc, chrono_asc, alpha_asc, alpha_desc.
Filter by film type. Accepts exactly one of: Kortfilm, Långfilm. Omitted returns all types.
api.parse.bot/scraper/4f6f74e6-f5b8-4c24-8bf0-bfe4162f3568/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/4f6f74e6-f5b8-4c24-8bf0-bfe4162f3568/list_films_in_production' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace svenskfilmdatabas-se-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""
Svensk Filmdatabas - Films in Production API Client
Get your API key from: https://parse.bot/settings
"""

import os
import requests
from typing import Optional


class ParseClient:
    """Client for the Svensk Filmdatabas Films in Production API."""

    def __init__(self, api_key: Optional[str] = None):
        """Initialize the Parse API client."""
        self.base_url = "https://api.parse.bot"
        self.scraper_id = "4f6f74e6-f5b8-4c24-8bf0-bfe4162f3568"
        self.api_key = api_key or os.getenv("PARSE_API_KEY")

        if not self.api_key:
            raise ValueError("API key must be provided or set in PARSE_API_KEY environment variable")

    def _call(self, endpoint: str, method: str = "POST", **params) -> dict:
        """
        Make a request to the Parse API.

        Args:
            endpoint: The API endpoint name
            method: HTTP method (GET or POST)
            **params: Query or body parameters

        Returns:
            dict: The API response
        """
        url = f"{self.base_url}/scraper/{self.scraper_id}/{endpoint}"
        headers = {"X-API-Key": self.api_key, "Content-Type": "application/json"}

        if method.upper() == "GET":
            response = requests.get(url, headers=headers, params=params)
        else:
            response = requests.post(url, headers=headers, json=params)

        response.raise_for_status()
        return response.json()

    def list_films_in_production(
        self,
        page: int = 1,
        sort_by: str = "chrono_desc",
        film_type: Optional[str] = None,
        country: Optional[str] = None,
    ) -> dict:
        """
        List Swedish films currently in production.

        Args:
            page: Page number for pagination (15 items per page)
            sort_by: Sort order - chrono_desc, chrono_asc, alpha_asc, alpha_desc
            film_type: Filter by film type - Kortfilm or Långfilm
            country: Filter by production country

        Returns:
            dict: Paginated list of films with metadata
        """
        params = {"page": page, "sort_by": sort_by}
        if film_type:
            params["film_type"] = film_type
        if country:
            params["country"] = country

        return self._call("list_films_in_production", method="GET", **params)

    def get_film_details(self, film_id: str) -> dict:
        """
        Get detailed information about a specific film.

        Args:
            film_id: Numeric film ID

        Returns:
            dict: Detailed film information including cast and production facts
        """
        return self._call("get_film_details", method="GET", film_id=film_id)


def main():
    """Demonstrate practical usage of the Films in Production API."""
    client = ParseClient()

    print("=" * 60)
    print("SVENSKA FILMDATABAS - FILMS IN PRODUCTION")
    print("=" * 60)

    # Step 1: List films in production - get Swedish long films, sorted alphabetically
    print("\n1. Fetching Swedish long films (Långfilm) sorted alphabetically...")
    response = client.list_films_in_production(page=1, sort_by="alpha_asc", film_type="Långfilm", country="Sverige")

    total_films = response["total_count"]
    films_on_page = len(response["items"])

    print(f"\n   Total Swedish long films in production: {total_films}")
    print(f"   Films on this page: {films_on_page}")
    print(f"   Available film types: {', '.join(response['available_film_types'])}")

    # Step 2: Display first few films from the list
    print("\n2. First 5 films on the list:")
    print("-" * 60)

    films_to_detail = response["items"][:5]

    for i, film in enumerate(films_to_detail, 1):
        print(f"\n   {i}. {film['title']}")
        print(f"      Type: {film['film_type']}")
        print(f"      Meta: {film['meta']}")
        print(f"      ID: {film['id']}")

    # Step 3: Get detailed information for the first film
    if films_to_detail:
        first_film_id = films_to_detail[0]["id"]
        first_film_title = films_to_detail[0]["title"]

        print("\n3. Fetching detailed information for the first film...")
        print(f"   Film: {first_film_title}")
        print("-" * 60)

        details = client.get_film_details(first_film_id)

        print(f"\n   Original Title: {details.get('original_title', 'N/A')}")
        print(f"   Year: {details.get('year', 'N/A')}")
        print(f"   Category: {details.get('category', 'N/A')}")
        print(f"   Director: {details.get('director', 'N/A')}")
        print(f"   Producer: {details.get('producer', 'N/A')}")
        print(f"   Screenplay: {details.get('screenplay', 'N/A')}")
        print(f"   Production Country: {details.get('production_country', 'N/A')}")
        print(f"   Production Company: {details.get('production_company', 'N/A')}")

        # Display cast if available
        if details.get("cast"):
            print(f"\n   Cast ({len(details['cast'])} members):")
            for cast_member in details["cast"][:5]:  # Show first 5 cast members
                print(f"      - {cast_member['name']} as {cast_member['role']}")
            if len(details["cast"]) > 5:
                print(f"      ... and {len(details['cast']) - 5} more")

    # Step 4: Show summary statistics
    print("\n4. Summary Statistics:")
    print("-" * 60)

    # Get short films count for comparison
    short_films = client.list_films_in_production(page=1, film_type="Kortfilm")
    short_count = short_films["total_count"]

    print(f"\n   Total Swedish Long Films (Långfilm): {total_films}")
    print(f"   Total Swedish Short Films (Kortfilm): {short_count}")
    print(f"   Grand Total: {total_films + short_count}")

    print("\n" + "=" * 60)
    print("API exploration complete!")
    print("=" * 60)


if __name__ == "__main__":
    main()
All endpoints · 2 totalmissing one? ·

List Swedish films currently in production. Returns paginated results with 15 items per page. Supports filtering by film type and production country, and sorting chronologically or alphabetically.

Input
ParamTypeDescription
pageintegerPage number for pagination (15 items per page).
countrystringFilter by production country. Accepts exactly one of: Sverige, Belgien, Danmark, Finland, Frankrike, Grekland, Island, Litauen, Norge, Polen, Rumänien, Serbien, Spanien, Tyskland, Ukraina, USA. Omitted returns all countries.
sort_bystringSort order. Accepts exactly one of: chrono_desc, chrono_asc, alpha_asc, alpha_desc.
film_typestringFilter by film type. Accepts exactly one of: Kortfilm, Långfilm. Omitted returns all types.
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "items": "array of film summaries with id, title, title_extra, meta, film_type, link",
    "total_count": "integer",
    "items_per_page": "integer",
    "available_countries": "array of strings",
    "available_film_types": "array of strings"
  },
  "sample": {
    "page": 1,
    "items": [
      {
        "id": "709994",
        "link": "/sv/item/?type=film&itemid=709994",
        "meta": "Gustaf Skarsgård, Sverige m.fl.",
        "title": "Kannibalen på Fårö (2027)",
        "film_type": "Långfilm",
        "title_extra": ""
      }
    ],
    "total_count": 184,
    "items_per_page": 15,
    "available_countries": [
      "Sverige",
      "Belgien",
      "Danmark",
      "Finland",
      "Frankrike",
      "Grekland",
      "Island",
      "Litauen",
      "Norge",
      "Polen",
      "Rumänien",
      "Serbien",
      "Spanien",
      "Tyskland",
      "Ukraina",
      "USA"
    ],
    "available_film_types": [
      "Kortfilm",
      "Långfilm"
    ]
  }
}

About the Svensk Filmdatabas API

Listing Films in Production

The list_films_in_production endpoint returns up to 15 film summaries per page. Each item includes id, title, title_extra, meta, film_type, and link. You can filter results using film_type (accepts Kortfilm or Långfilm) and country (accepts Swedish country names such as Sverige, Danmark, or Frankrike). The sort_by parameter controls ordering: chrono_desc, chrono_asc, alpha_asc, or alpha_desc. The response also includes total_count, items_per_page, available_countries, and available_film_types to help drive UI pagination and filter controls.

Getting Film Details

The get_film_details endpoint accepts a film_id string (numeric, sourced from items[*].id in the list response) and returns a full record for that title. Fixed fields include title, year, category, film_type, director, producer, and screenplay. The cast field is an array of objects each containing name and role. The all_facts object captures every key-value pair from the film's fact table, which may include fields beyond the named top-level properties depending on the record.

Coverage and Scope

Data reflects Swedish films currently registered as in-production at Svensk Filmdatabas — both feature films (Långfilm) and short films (Kortfilm). Country filter values correspond to co-production countries listed on the source. Not all films will have complete cast or crew data; some director, producer, or screenplay fields may be empty strings depending on how completely a given title has been catalogued.

Reliability & maintenance

The Svensk Filmdatabas API is a managed, monitored endpoint for svenskfilmdatabas.se — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when svenskfilmdatabas.se changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official svenskfilmdatabas.se API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track all Swedish feature films (Långfilm) currently in development and monitor new additions over time using list_films_in_production with film_type filter
  • Build a co-production directory by filtering films by country (e.g. Frankrike or Danmark) to find Swedish-foreign co-productions
  • Populate a cast and crew database for in-production titles using the cast array and director, producer, screenplay fields from get_film_details
  • Feed a news or industry newsletter with a chronologically sorted list of recently added productions using sort_by=chrono_desc
  • Identify short film productions in Sweden by filtering list_films_in_production with film_type=Kortfilm
  • Enrich a film industry CRM by resolving film IDs from list results into full production records via get_film_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Svensk Filmdatabas offer an official developer API?+
Svensk Filmdatabas does not publish an official public developer API. This Parse API provides structured programmatic access to the film-in-production data that the site exposes.
What does the `all_facts` field in `get_film_details` contain?+
It is a key-value object that captures every entry from the film's fact table. It includes at minimum the data covered by the named fields (director, producer, screenplay, year, category, film_type), but may also include additional production metadata depending on how completely a title has been catalogued in the database.
Does the API cover films that have already been released, or only those currently in production?+
The API covers only titles currently listed as in-production on Svensk Filmdatabas. Released films and the broader historical catalog are not covered by these endpoints. You can fork this API on Parse and revise it to add an endpoint targeting completed or released Swedish films from the database.
Can I filter by multiple countries or multiple film types at once?+
Each filter parameter accepts exactly one value per request. country takes a single country name and film_type takes either Kortfilm or Långfilm. Multi-value filtering is not supported in the current endpoints. You can fork this API on Parse and revise it to add multi-value filter logic.
How complete is the cast data returned by `get_film_details`?+
Cast completeness depends on what Svensk Filmdatabas has recorded for each title. The cast array will contain objects with name and role for listed performers, but films early in production may have few or no cast members recorded. Fields like director and producer can also be empty strings for partially catalogued records.
Page content last updated . Spec covers 2 endpoints from svenskfilmdatabas.se.
Related APIs in EntertainmentSee all →
store.steampowered.com API
Search Steam Store listings, fetch featured categories (specials, top sellers, new releases), and retrieve app details and user reviews by Steam AppID.
store.epicgames.com API
Access data from store.epicgames.com.
seatgeek.com API
Search for events and performers, view ticket listings with pricing data, and explore venue information across multiple event categories. Get real-time insights into event details, ticket price trends, and what's currently trending to help you find and compare tickets.
poe.ninja API
Access real-time Path of Exile economy data from poe.ninja, including item prices, currency exchange rates, divination card values, market trends, and build statistics by class.
justwatch.com API
Search for movies and TV shows, retrieve streaming availability and detailed metadata, browse trending content, and discover similar titles — all via JustWatch.
amctheatres.com API
Find movie showtimes and browse theatre locations across AMC Theatres, with the ability to filter by specific theatre, date, and market area. Quickly discover what's playing and plan your cinema visits with current availability at your preferred locations.
ticketone.it API
Browse upcoming events and search for artists or venues on TicketOne.it, then check real-time ticket availability and get detailed event information all in one place. Discover featured events by category or search directly to find events to attend.
cinemark.com API
Search for Cinemark theater locations and movies, then browse showtimes and ticket prices to plan your movie outing. Get detailed information about available films across all US Cinemark locations to compare options and find the perfect showtime for you.