MCP docs › Tools › Instagram Covers Downloader
Instagram Covers Downloader
instagram_cover_download medium Video, audio & downloads
Download the cover image of public Instagram Reels and posts at full resolution, with caption, author, like/comment counts and upload date. Accepts up to 100 links per run. Listing a whole profile requires server-side Instagram cookies; individual links do not.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
urls |
string[] | no | — | Individual post links. Up to 100 per run. Either this or 'account' is required. |
account |
string | no | — | Not supported — Instagram profile grids are not readable without a logged-in session. Use 'urls' instead. |
limit |
integer | no | 15 |
How many posts to CONSIDER from an account listing (1-200). |
top |
integer | no | 0 |
After sorting, keep only this many (0 = keep all). Set limit=16, sort='most_viewed', top=3 to get the 3 most-viewed of the last 16. |
sort |
string | no | "latest" |
latest | oldest | most_viewed | least_viewed | as_given. |
full_stats |
boolean | no | false |
No effect: exact like and comment counts, the full caption and the upload date are always included. |
all_variants |
boolean | no | false |
Also save every alternate size / animated cover. |
download |
boolean | no | true |
Save copies server-side so the URLs don't expire. False returns platform URLs only. |
Returns
items[] with id, title, description, author, view_count, like_count, comment_count, and on TikTok also share_count / save_count / repost_count; plus upload_date, duration_string, width, height, cover_url (the platform URL) and file_url (our saved copy, which does not expire). Also zip_url, notes[] and failed[] with a reason per input that could not be read.
Each row typically carries: count considered saved_count full_stats items zip_url notes failed
The response body is { status, count, fields, results }. Runs that exceed the inline wait return { status: "running", job_id, tool_flow } instead — see Jobs & errors.
Call it over MCP
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "instagram_cover_download",
"arguments": {
"urls": [
"https://www.instagram.com/reel/Dd3R5a9uAOa/"
]
}
}
}
Call it over the REST API
curl -X POST https://convertfleet.online/api/tool-run \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tool":"ig_covers","params":{"urls":["https://www.instagram.com/reel/Dd3R5a9uAOa/"]}}'
Both paths run the same job engine, enforce the same plan limits and count against the same monthly quota. See the REST API page.
Related tools
JSON Schema
{
"type": "object",
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Individual post links. Up to 100 per run. Either this or 'account' is required."
},
"account": {
"type": "string",
"description": "Not supported — Instagram profile grids are not readable without a logged-in session. Use 'urls' instead."
},
"limit": {
"type": "integer",
"description": "How many posts to CONSIDER from an account listing (1-200).",
"default": 15
},
"top": {
"type": "integer",
"description": "After sorting, keep only this many (0 = keep all). Set limit=16, sort='most_viewed', top=3 to get the 3 most-viewed of the last 16.",
"default": 0
},
"sort": {
"type": "string",
"description": "latest | oldest | most_viewed | least_viewed | as_given.",
"default": "latest"
},
"full_stats": {
"type": "boolean",
"description": "No effect: exact like and comment counts, the full caption and the upload date are always included.",
"default": false
},
"all_variants": {
"type": "boolean",
"description": "Also save every alternate size / animated cover.",
"default": false
},
"download": {
"type": "boolean",
"description": "Save copies server-side so the URLs don't expire. False returns platform URLs only.",
"default": true
}
},
"additionalProperties": false
}