SaveAnything AI Agent Skill

Teach ChatGPT, Claude or any AI assistant to download media through our API — just ask your agent to save a link.

  • Claude
  • ChatGPT
  • API

Install it in your agent

The skill is a standard SKILL.md package that teaches any agent how to use SaveAnything, plus runnable examples in Bash, Python and Node.

  1. 1

    Claude Code

    Unzip the skill into your skills folder, then just ask it to save a link.

    unzip saveanything-skill.zip -d ~/.claude/skills
  2. 2

    Claude (claude.ai)

    Go to Settings → Capabilities → Skills → Upload skill, and pick the downloaded zip. Skills are available on paid plans.

  3. 3

    ChatGPT & every other agent

    Paste the contents of SKILL.md into your custom GPT, system prompt, or agent instructions — it is plain markdown.

One endpoint, any agent

Claude, ChatGPT, or any assistant that can make an HTTP request can download media through SaveAnything. There is exactly one call to learn: post a public Instagram link to our search endpoint and you get back direct, ready-to-fetch download links. No API key, no OAuth dance.

Agent-friendly

Plain JSON in, plain JSON out — trivial to wire into any tool or skill definition.

One request

A single POST resolves videos, photos, reels, stories and carousels alike.

Direct downloads

Each media item comes with a proxied download URL and a clean branded filename.

Copy-paste usage

Send POST /api/search with the Instagram URL in q. The other three fields are fixed:

Request
curl -X POST https://saveanything.app/api/search \
  -H "Content-Type: application/json" \
  -d '{
    "q": "https://www.instagram.com/reel/ABC123/",
    "t": "media",
    "lang": "en",
    "v": "v2"
  }'
Response
{
  "status": "ok",
  "media": [
    {
      "type": "video",
      "url": "/api/download?url=...&filename=SaveAnything.app_reel.mp4",
      "thumb": "/api/img?url=...",
      "filename": "SaveAnything.app_reel.mp4"
    }
  ]
}
  • media[].url and media[].thumb are site-relative — prefix them with https://saveanything.app before fetching.
  • Download links are time-limited (about an hour) — fetch them right after resolving, don't cache them.
  • A non-okstatus means the link couldn't be resolved (private account, deleted post, or not an Instagram URL).

Teach it in one sentence

Paste this into your agent's instructions, custom GPT, or skill file:

To download Instagram media, POST the link to https://saveanything.app/api/search as JSON {"q": <url>, "t": "media", "lang": "en", "v": "v2"} and fetch each entry in the returned media[] array via https://saveanything.app + media[].url.
Try it yourself in the browser first