[← Back to tools]
instagram.posts

Scrape Instagram posts: pay per use, no API key

Use Apify from Claude, Claude Code, Cursor, ChatGPT, and other agents through one Cralo balance.

Return public posts from an Instagram profile, post, reel, or hashtag URL. Price is per post (quoted from `limit`, max 1000).

Price and execution

Price
$0.0023
Pricing model
Fixed price per successful call
Execution class
queued

Limits

No additional limits are published for this tool.

Parameters

Fields instagram.posts accepts as JSON input.

  • urlstring (uri)Required

    Public Instagram profile, post, reel, or hashtag URL to fetch posts from.

  • limitintegerOptional

    Maximum number of records to return (1 to 1000, default 10). Quoted price scales with this limit.

Raw input JSON Schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https://(www\\.)?instagram\\.com/",
      "maxLength": 2048,
      "description": "Public Instagram profile, post, reel, or hashtag URL to fetch posts from."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 1000,
      "minimum": 1,
      "description": "Maximum number of records to return (1 to 1000, default 10). Quoted price scales with this limit."
    }
  },
  "additionalProperties": false
}

Returns

Fields a successful instagram.posts call returns.

  • countintegerRequired
  • postsarray of objectRequired
    • idstringRequired
    • urlstring (uri)Required
    • typestring | nullRequired
    • ownerobjectRequired
    • imagesarray of string (uri)Required
    • captionstring | nullRequired
    • hashtagsarray of stringRequired
    • mentionsarray of stringRequired
    • timestampstring | nullRequired
    • video_urlstring | nullRequired
    • short_codestring | nullRequired
    • display_urlstring | nullRequired
    • likes_countnumber | nullRequired
    • comments_countnumber | nullRequired
    • video_play_countnumber | nullRequired
  • source_urlstring (uri)Required
  • retrieved_atstring (date-time)Required
Raw output JSON Schema
{
  "type": "object",
  "required": [
    "posts",
    "count",
    "source_url",
    "retrieved_at"
  ],
  "properties": {
    "count": {
      "type": "integer",
      "minimum": 1
    },
    "posts": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "url",
          "type",
          "short_code",
          "caption",
          "hashtags",
          "mentions",
          "comments_count",
          "likes_count",
          "video_play_count",
          "timestamp",
          "display_url",
          "images",
          "video_url",
          "owner"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "owner": {
            "type": "object",
            "required": [
              "id",
              "username",
              "full_name"
            ],
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "full_name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "caption": {
            "type": [
              "string",
              "null"
            ]
          },
          "hashtags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mentions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "timestamp": {
            "type": [
              "string",
              "null"
            ]
          },
          "video_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "short_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "likes_count": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0
          },
          "comments_count": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0
          },
          "video_play_count": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 1000
    },
    "source_url": {
      "type": "string",
      "format": "uri"
    },
    "retrieved_at": {
      "type": "string",
      "format": "date-time"
    }
  },
  "additionalProperties": false
}

Run this tool

Copy this instruction to your agent to set up Cralo and call this tool with the example input.

Set up Cralo by following https://cralo.ai/SKILL.md, then call the instagram.posts tool with this input: {"url":"https://www.instagram.com/instagram/","limit":1}

Safety notes

Side Effect
read_only
Public Sources Only
Yes
Handles Personal Data
Yes
Authenticated Content
No

How this compares to using Apify directly

You do not need a separate Apify account or subscription for this call. Cralo uses one prepaid balance across all tools and shows the per-call price before you run the command.

Related tools

[Browse all tools]