Instagram Reels guide

How can an AI agent extract information from an Instagram Reel and return JSON?

Send an Instagram Reel URL, a prompt, and a JSON Schema to mamitsu. It watches the Reel, hears its audio, reads its caption, and returns the information you need as structured JSON.

The request tells mamitsu what to understand

Give it a URL, a prompt, and a schema.

The Reel URL selects the content. The prompt describes the information to extract. The schema gives your application a predictable JSON shape. The mamitsu API reference documents these as the required url, prompt, and schema fields.

This example asks mamitsu to extract information from the content, not just return post metadata.

Instagram Reel request
curl https://usemamitsu.com/api/v1/extract \
  -H "Authorization: Bearer $XTRAKT_USER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://instagram.com/reel/C8pQ2mLtN4x",
  "prompt": "Extract every product shown or explicitly named in the Reel. Include the brand when it is stated and describe what the creator says or shows about each product. Do not infer products that are not present.",
  "schema": {
    "type": "object",
    "properties": {
      "products": {
        "type": "array",
        "description": "Products shown or explicitly named in the Reel",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product name as shown or said"
            },
            "brand": {
              "type": [
                "string",
                "null"
              ],
              "description": "The product brand, or null when it is not stated"
            },
            "what_is_shown_or_said": {
              "type": [
                "string",
                "null"
              ],
              "description": "A short description of what the Reel shows or says about the product, or null when there is no useful detail"
            }
          },
          "required": [
            "name",
            "brand",
            "what_is_shown_or_said"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "products"
    ],
    "additionalProperties": false
  }
}'
Prompt
Extract every product shown or explicitly named in the Reel. Include the brand when it is stated and describe what the creator says or shows about each product. Do not infer products that are not present.

The result contains your data and the source

Your JSON comes back under data.

A successful response returns the object shaped by your schema and identifies the source provider and URL that were processed.

The example values are illustrative. Check the values that matter before using them in a customer-facing or automated workflow.

JSON Schema
{
  "type": "object",
  "properties": {
    "products": {
      "type": "array",
      "description": "Products shown or explicitly named in the Reel",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The product name as shown or said"
          },
          "brand": {
            "type": ["string", "null"],
            "description": "The product brand, or null when it is not stated"
          },
          "what_is_shown_or_said": {
            "type": ["string", "null"],
            "description": "A short description of what the Reel shows or says about the product, or null when there is no useful detail"
          }
        },
        "required": ["name", "brand", "what_is_shown_or_said"],
        "additionalProperties": false
      }
    }
  },
  "required": ["products"],
  "additionalProperties": false
}
Response, 200
{
  "extraction_id": "ext_example",
  "data": {
    "products": [
      {
        "name": "Example skincare product",
        "brand": "Example brand",
        "what_is_shown_or_said": "The creator applies it and describes it as lightweight."
      }
    ]
  },
  "source": {
    "provider": "instagram",
    "url": "https://instagram.com/reel/C8pQ2mLtN4x"
  }
}

How mamitsu reads the source

mamitsu reads the Reel itself

The URL is not the answer. The mamitsu homepage describes the workflow as watching frames, hearing audio, and reading the caption. mamitsu interprets the content available in the Reel:

  • Frames can reveal products, packaging, demonstrations, locations, and on-screen text.
  • Audio can carry spoken product names, claims, or instructions.
  • The caption can add context, names, or details not visible in a single frame.

This is content understanding, not only retrieval

A metadata or transcript-only pipeline can tell you what a Reel record contains. mamitsu's extract workflow is designed for the next step: interpret the content available at the URL against your prompt and return the result in the schema your application requested. That is useful when the answer depends on what appears in the Reel, what is said, and what the caption adds.

Keep the result honest

Allow missing facts instead of forcing guesses.

A Reel may show a product without saying its brand, or mention a product without showing its packaging. Make fields nullable when the source may not contain them. The mamitsu API reference documents nullable values for details that do not appear in the post. For important fields, review the returned values against the original Reel before publishing or taking action.

Nullable field
{
  "type": ["string", "null"],
  "description": "The value, or null when the source does not state it"
}

Build the edge cases into your agent

Know which URLs and limits apply.

Public posts and videos work. A request times out after 90 seconds, and Instagram videos over 5 minutes return url_video_too_long. Private, removed, or blocked sources return an error instead of data. Useful error codes include unsupported_url, url_source_inaccessible, invalid_schema, and extraction_failed. The request body can be up to 64 KB. Schemas can be up to 16 KB, 8 levels deep, and 200 nodes.

  • /p/
  • /reel/
  • /reels/
  • /tv/

Instagram is one input to the same mamitsu workflow used for TikTok, YouTube, and X. Your agent sends a URL, a prompt, and a schema. mamitsu interprets the content available at that URL and returns the requested JSON with a source record.

Back to API reference

Sources

The extraction endpoint is POST /api/v1/extract. Read the API reference for the complete schema and error-code list.

Instagram Reels to JSON · mamitsu