Filmski Maraton APIfilmskimaraton.com ↗
Search filmskimaraton.com movie posts, browse category channels, and retrieve full movie details including genres, credits, quality tags, and download links.
What is the Filmski Maraton API?
The filmskimaraton.com API exposes 3 endpoints covering movie post search, category channel listings, and full post retrieval. Use search_movies to find posts by keyword across the site, get_movie to pull structured metadata for a single post including director, cast, year, genres, and download links, or list_channel_movies to page through all posts in a given category section.
curl -X GET 'https://api.parse.bot/scraper/772bd50d-cf73-4e2d-8e5f-78a135171020/search_movies?query=batman' \ -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, browse a channel, and drill into details."""
from parse_apis.filmskimaraton_com_api import FilmskiMaraton, InputNotFound
client = FilmskiMaraton()
# Search for movies by keyword, cap total items at 5.
for movie in client.movie_summaries.search(query="batman", limit=5):
print(movie.title, movie.year, movie.channel)
# Drill into the first search hit's full detail via summary→detail navigation.
hit = client.movie_summaries.search(query="batman", limit=1).first()
if hit is not None:
detail = hit.details()
print(detail.title, detail.year, detail.quality)
print("Synopsis:", detail.synopsis)
print("Download links:", detail.download_links)
print("Tags:", detail.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 InputNotFound:
print("Movie not found for node_id", hit.node_id)
# Browse a channel page with bounded iteration.
for movie in client.movie_summaries.list_by_channel(
url="https://filmskimaraton.com/articles/doma-i-filmovi-zadnje-dodano", limit=3
):
print(movie.title, movie.year, movie.genres)
print("exercised: movie_summaries.search / details / movies.get / list_by_channel")
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 Filmski Maraton API
Search and Discover Movie Posts
The search_movies endpoint accepts a query string and an optional title_only boolean. When title_only is true, matches are restricted to post titles; setting it to false broadens the search to the full post body, which typically returns more results but with looser relevance. Results come back 15 per page (controlled by the page parameter), newest first, and include node_id, title, url, published, channel, quality, and genres per entry. Setting include_download_links to true appends the external file-host URLs directly to each summary result so you can avoid a second call to get_movie.
Retrieve Full Movie Details
Passing a node_id from any search or listing result to get_movie returns the complete post record: title, year, director, writer, cast, genres, quality, tags, synopsis, the subtitle or dubbing note, and the download_links array. Fields like cast, director, writer, and year are nullable — the endpoint returns null when the post does not include that information rather than omitting the field.
Browse by Category Channel
The list_channel_movies endpoint takes a full filmskimaraton.com category URL of the form https://filmskimaraton.com/articles/<channel-slug> and returns a paginated list of posts in that channel. The response includes the channel display name as it appears on the site, total_pages, has_more, and the same per-post summary shape used by search_movies. The include_download_links flag works the same way here, letting you retrieve file-host links inline without fetching each post individually.
The Filmski Maraton 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 personal movie tracker that monitors new posts in a specific filmskimaraton.com channel using
list_channel_movies. - Aggregate download links for a batch of titles by combining
search_movieswithinclude_download_links: true. - Populate a local movie database with structured credits (director, writer, cast) and release year via
get_movie. - Filter available movies by quality tag (e.g. HD-720P, dvdrip) after fetching search results from
search_movies. - Build a genre-based browsing interface using the
genresarray returned across all three endpoints. - Cross-reference filmskimaraton.com post metadata with other sources using
node_idas a stable identifier. - Monitor publish dates from
search_moviesresults to surface newly posted titles in a given category.
| 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 have an official developer API?+
What does `get_movie` return that `search_movies` does not?+
get_movie returns the full post details: synopsis, director, writer, cast, year, tags, the subtitle or dubbing note, and the complete download_links array. The search_movies summary results include node_id, title, url, published, channel, quality, and genres, but omit those deeper fields unless include_download_links is set to true.Does the API expose user ratings or viewer comments for movie posts?+
Can I retrieve every category channel URL programmatically, or do I need to know them in advance?+
list_channel_movies endpoint requires you to supply a known category URL — there is no endpoint that lists all available channel slugs. You can fork this API on Parse and revise it to add a channel-discovery endpoint.How does pagination work across the endpoints?+
page parameters and return 15 results per page. Each response includes total_pages and has_more so you can iterate until has_more is false. The total_results field is additionally available on search_movies responses.