Publish a staged post to your Instagram account
instagram.instagram.post.publishPublish a post to your own Instagram business account
- Price
- freeAt provider cost
- Success rate
- —No success-rate data yetNo success-rate data yet
- Latency p50
- ——
- Last verified
- —Not verified yet
POSThttps://toolswitch.dev/v1/tools/instagram.instagram.post.publishPreview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
step 3, and the point of no return. Returns {id: <media id>}; the shareable link needs a second call, GET /{media_id}?fields=permalink. A container that was already published, has expired (24h) or errored answers with an error rather than republishing. Meta's limit of 100 API-published posts per 24-hour moving period (carousels count as one) is enforced here — read the remaining allowance at GET /{ig_user_id}/content_publishing_limit before a batch
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Path parameters | ||||
ig_user_id | string | Required | 17841400000000000 | |
| Query parameters | ||||
creation_id | string | Required | the container id from instagram.media.container.create — for a carousel this is the PARENT container, never a child | 17890000000000000 |
- Path parameters
ig_user_idstringRequiredExample:
17841400000000000- Query parameters
creation_idstringRequiredthe container id from instagram.media.container.create — for a carousel this is the PARENT container, never a child
Example:
17890000000000000
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X POST 'https://toolswitch.dev/v1/tools/instagram.instagram.post.publish' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY"import os
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/instagram.instagram.post.publish",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/instagram.instagram.post.publish", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at free, including the service fee.