Guides
Zapier, Make and n8n
Zapier, Make and n8n can all call the Filmo API with their generic HTTP step. Send the key as a bearer header, page through lists with the cursor, wait when you get a 429 and give every write its own idempotency key.
Before you build
Link to this section: Before you build- Create one key per scenario or Zap, with only the scopes it needs (see Scopes).
- Store the key in the platform's credential or secret storage. Do not paste it into a field of the scenario that is shown in logs or exported with it.
- Make your first call to
GET /apito confirm the key works and to see its scopes./v1 /account
Set up the HTTP step
Link to this section: Set up the HTTP stepIn Zapier use a custom HTTP request action. In Make use the HTTP module. In n8n use the HTTP Request node. The settings are the same in all three.
| Setting | Value |
|---|---|
| URL | https://, with the path of the operation |
| Method | The method of the operation (GET to read, POST, PATCH or PUT to write) |
Authorization header | Bearer followed by the key, taken from the credential store |
Accept header | application |
Content-Type header | application on writes |
| Body | JSON. Dates are ISO 8601 with an offset, such as 2026-10-17T09:00:00+02:00 |
Idempotency-Key header | On every write; see below |
Let the step hand 4xx and 5xx responses to your scenario instead of failing silently, so you can read the status, the code of the error and Retry-After. Branch on code, never on detail.
Page through lists
Link to this section: Page through listsRequest the first page
Send the list request with a
limit(the maximum is 500).Check for more
Read
pagination.in the response.hasMore Request the next page
While it is
true, repeat the request withcursorset topagination.and the samenextCursor limit.
Treat the cursor as opaque. Zapier has no built-in cursor loop, so do the loop in a code step or with its looping tools. Make and n8n have iterators and loops, and n8n's HTTP Request node has a pagination option. Always put a maximum number of pages on the loop. See Pagination for the details, and Syncing data for how to read only what changed.
Handle 429 and Retry-After
Link to this section: Handle 429 and Retry-AfterEach key has 120 requests per minute, and the availability queries have a separate 30 per minute. Every scenario that shares a key shares that quota, and every HTTP step in a loop is a request. When a limit is exceeded the answer is 429 rate_limited with a Retry-After header in seconds. Wait that long and retry the same request with the same idempotency key. Slow down loops on purpose, and use one key per scenario so one run cannot starve another. See Rate limits.
One Idempotency-Key per record
Link to this section: One Idempotency-Key per recordPlatforms retry steps and let you re-run a failed execution. Without a key, each retry can create the record again. Send an Idempotency-Key on every write, built from something that stays the same for that record: the id of the record in the source system plus what you do with it (for example crm-4821-create-contact). Use a different key for each record, never one for the whole execution. If you re-run an execution after changing the data, the same key with a different body is a 422 idempotency_key_reused, which is the signal to use a new key. Keys last 24 hours. See Idempotency.
Always send your own key to POST /api, POST /api, POST /api and POST /api. A retry without it duplicates something that cannot be undone.
Receive changes from Filmo
Link to this section: Receive changes from FilmoFilmo does not send webhooks, but a workflow in Filmo can send an HTTP request to a URL when an event happens, and Zapier, Make and n8n each offer a trigger that receives an incoming HTTP call. Create the trigger on the platform, copy its URL into the HTTP request step of a Filmo workflow, and put a secret in a header of that step. The step has no signature. The step does not retry, but the run is attempted up to three times, so deduplicate on the Idempotency-Key header, and keep a scheduled read as the source of truth. The request, its limits and the fields of the event are described in Syncing data.
Avoid loops
Link to this section: Avoid loopsA scenario can trigger the workflow that called it
A write from your scenario fires the account's event workflows, and you cannot suppress that per request. If one of those workflows calls your scenario back, the two feed each other without end. Filmo's chain protection does not catch it when the scenario writes with an API key, because that write arrives as a new event of origin api. Filter the trigger of each workflow by origin to exclude api.
- Run the scenario on a schedule and read what changed, as well as or instead of waiting for a call.
- Before writing, compare with the current value and skip the write when nothing changes.
- Mark what the integration wrote, for example with a tag, and make the scenario ignore records carrying that mark.
- Set a ceiling on executions per hour in the platform, so a loop stops by itself.
- Check the account's active workflows before you switch the scenario on (see Testing).
The first run is the dangerous one
Link to this section: The first run is the dangerous oneThe first execution of a scenario often covers the whole history. Reading thousands of records takes minutes at 120 requests per minute, and each request counts as a task or operation on most platforms, so check your plan. If the first run writes to Filmo, every write can start the account's automations, including ones that email customers. Pause those automations first, run the first load on a small batch, and only then open it up.
AI agents in Make and n8n
Link to this section: AI agents in Make and n8nMake and n8n also have nodes that connect to MCP servers, which let an AI step choose Filmo tools by itself. The server is at https://. Start with the MCP overview, then the steps to connect Make or n8n. For fixed, predictable flows, prefer the HTTP steps described here.
Related pages
Link to this section: Related pagesGuides
Rate limits
Each API key has 120 requests per minute, and the three availability checks share their own quota of 30 per minute. Past a limit the API answers 429 with
Retry-After.Guides
Idempotency and safe retries
Send an
Idempotency-Keyheader with every write and reuse the same value when you retry that operation: Filmo returns the stored result of the first attempt instead of writing twice.Guides
Pagination
Lists return one page at a time. Ask for a page with
limit, and whilepagination.ishasMore truecall again with thenextCursoryou were given.Guides
Syncing data
Filmo v1 does not send webhooks, so you keep another system in step by polling: read what changed in half-open time windows, and run a separate sweep to find what was deleted. Do not follow the pagination cursor to decide what changed or what disappeared.
Was this page helpful?