Filmskimaraton APIfilmskimaraton.com ↗
Search filmskimaraton.com movie posts by title, retrieve genres, credits, quality tags, year, synopsis, and download links via two simple endpoints.
What is the Filmskimaraton API?
The Filmskimaraton.com API exposes 2 endpoints that cover movie post search and full post detail retrieval from filmskimaraton.com. search_movies returns up to 15 matching posts per page with title, quality tag, genres, publish date, and channel. get_movie adds director, writer, cast, year, synopsis, tags, and download links for any single post identified by its node_id.
curl -X GET 'https://api.parse.bot/scraper/772bd50d-cf73-4e2d-8e5f-78a135171020/search_movies?query=batman&title_only=false&include_download_links=true' \ -H 'X-API-Key: $PARSE_API_KEY'
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 filmskimaraton-com-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.
"""Walkthrough: Filmski Maraton SDK — search movies, drill into full details."""
from parse_apis.filmskimaraton_com_api import FilmskiMaraton, MovieNotFound
client = FilmskiMaraton()
# Search for movies by title keyword, cap total items at 5.
for movie_summary in client.movie_summaries.search(query="batman", limit=5):
print(movie_summary.title, movie_summary.year, movie_summary.channel)
# Drill into the first result's full detail via the summary→detail navigation.
hit = client.movie_summaries.search(query="batman", limit=1).first()
if hit is not None:
movie = hit.details()
print(movie.title, movie.year, movie.quality)
print("Synopsis:", movie.synopsis)
print("Download links:", movie.download_links)
print("Tags:", movie.tags)
# Direct point-lookup by node_id discovered from the search above.
if hit is not None:
try:
full = client.movies.get(node_id=hit.node_id)
print(full.title, full.director, full.cast)
except MovieNotFound:
print("Movie not found for node_id", hit.node_id)
print("exercised: movie_summaries.search / MovieSummary.details / movies.get")
Searches the site's movie posts by keyword and returns one page of matching posts (15 per page), newest first as the site orders them. Each result carries the post's node_id (the key for get_movie), title, page URL, publish date (site format DD-MM-YY, HH:MM), the channel/section it was posted in, and the info the site shows in the result excerpt: quality tag, genres, year, director, writer, cast, a synopsis that may be truncated with '...', and poster thumbnail URL. Excerpt fields are null / empty when the post does not carry them (older posts and dubbed animated articles often only hold the download link). The site's result excerpt never contains the external download link itself (its 'Download' anchor only opens the post), so links are only attached when include_download_links is true: the post bodies of the whole page are then fetched in one extra batch request and each result gets download_links (array of external file-host URLs in post order, empty when the post has none, null when the site returned no body for that post); with the default false the key is absent and get_movie is the way to obtain the links. Pagination is caller-controlled through page; omitting page returns page 1, a page past total_pages returns an empty results list. Page 1 costs one request, later pages two, plus one when include_download_links is true. total_results and total_pages come from the site's own result counter.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based result page; 15 results per page. |
| queryrequired | string | Search keyword(s) matched against post titles (or full text when title_only is false). |
| title_only | boolean | When true the keyword must appear in the post title; when false the whole post text is searched, which returns more (and less relevant) matches. |
| include_download_links | boolean | When true, each result additionally carries download_links (the external file-host URLs from the full post body), at the cost of one extra request per page. |
{
"type": "object",
"fields": {
"page": "integer, page returned",
"query": "echo of the search keyword",
"results": "array of movie post summaries: node_id (string, key for get_movie), title, url, published, channel, quality, genres (array of strings), year (integer or null), director, writer, cast, synopsis (may be truncated), poster_url, and, only when include_download_links is true, download_links (array of external download URLs; empty when the post has none)",
"has_more": "boolean, true when page < total_pages",
"page_size": "integer, results per page (15)",
"title_only": "boolean, the search mode applied",
"total_pages": "integer, site-reported number of pages",
"total_results": "integer, site-reported number of matching posts",
"include_download_links": "boolean, whether download_links were attached to results"
},
"sample": {
"data": {
"page": 1,
"query": "Mayday",
"results": [
{
"url": "https://filmskimaraton.com/54008-mayday",
"cast": "Ryan Reynolds, Kenneth Branagh, Maria Bakalova, Marcin Dorociński, David Morse, Lovell Adams-Gray, Clark Johnson, Alex Mallari Jr., Louis Cancelmi, Alex Ozerov ...",
"year": 2026,
"title": "Mayday",
"genres": [
"Akcija",
"Avantura",
"Komedija"
],
"writer": "John Francis Daley, Jonathan Goldstein",
"channel": "Novi filmovi",
"node_id": "54008",
"quality": "HD-720P",
"director": "John Francis Daley, Jonathan Goldstein",
"synopsis": "Tijekom Hladnog rata, američki pilot Troy Kelly kreće u strogo tajnu misiju iznad sovjetskog teritorija, no operacija završava katastrofom. ...",
"published": "04-09-26, 10:43",
"poster_url": "https://filmskimaraton.com/filedata/fetch?id=54009&type=thumb",
"download_links": [
"https://www.grabitshare.com/?d=6A9A92A723"
]
}
],
"has_more": false,
"page_size": 15,
"title_only": true,
"total_pages": 1,
"total_results": 3,
"include_download_links": true
},
"status": "success"
}
}About the Filmskimaraton API
Search and Discovery
search_movies accepts a required query string and an optional 1-based page integer to paginate through results (15 per page). The title_only boolean controls whether the keyword is matched only against post titles or against the full post text — setting it to false widens results but may include tangentially related posts. The response includes total_results, total_pages, and has_more so callers can reliably walk all result pages. Each entry in the results array exposes node_id, title, url, published (in DD-MM-YY, HH:MM format), channel, quality, and genres.
Full Post Detail
get_movie takes a single required parameter, node_id, exactly as returned in search_movies.results[*].node_id. The response fills in the fields that the search summary omits: director, writer, cast (as a single string or null), year (integer or null), full synopsis, a subtitle/dubbing note, tags (array), and download_links (array). Fields like quality and genres are also present, making the detail response self-contained without needing to cross-reference the search result.
Data Coverage and Format Notes
Quality tags follow the site's own labeling convention (e.g., HD-720P, dvdrip), so values are not normalized across a fixed vocabulary. genres and tags are arrays of strings as they appear on the post. Credit fields (director, writer, cast) and year may be null when the post does not include them. The published timestamp is in the site's local format and is not converted to ISO 8601.
The Filmskimaraton API is a managed, monitored endpoint for filmskimaraton.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when filmskimaraton.com 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 filmskimaraton.com 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?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Bosnian/Croatian-language movie catalog by aggregating genre, year, and quality data from search results
- Track newly published movie posts by querying
search_movieswith a broad keyword and sorting bypublisheddate - Retrieve full credits (director, writer, cast) for a known film using
get_movieafter locating itsnode_idvia search - Filter available download links for a movie post to surface specific quality tiers like HD-720P
- Cross-reference
genresandyearfields fromget_movieto group posts by era and category - Monitor a specific film's presence on the site by polling
search_movieswith its title and checkingtotal_results
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does filmskimaraton.com provide an official developer API?+
What does `get_movie` return that `search_movies` does not?+
get_movie adds director, writer, cast, year, full synopsis, a subtitle/dubbing note, and the download_links array. The search endpoint returns only a post summary: node_id, title, url, published, channel, quality, and genres.Are there any fields that can be null in the `get_movie` response?+
director, writer, cast, year, and quality can all be null when the underlying post does not include that information. genres and tags are always arrays but may be empty.Does the API return movie ratings or user review scores?+
How does pagination work in `search_movies`, and what happens when results span multiple pages?+
page_size is always 15). The response includes total_pages, total_results, and has_more (true when the current page is less than total_pages). Pass the page parameter incrementing from 1 to walk all pages. Results are ordered newest-first as the site presents them.