{
  "openapi": "3.0.1",
  "info": {
    "title": "Instagram Posts Scraper - 47 Fields, Engagement Scores",
    "description": "Reads posts from public Instagram profiles, reels and post URLs. 47 fields per post: caption, likes, comments, views and plays, hashtags, mentions, tagged users and collaborators, media type and URLs, alt text and timestamp, plus engagement rate, virality score and paid-partnership flags.",
    "version": "1.0",
    "x-build-id": "hnfagwEq8g8P5C4Ex"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~instagram-posts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-instagram-posts-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/parseforge~instagram-posts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-instagram-posts-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/parseforge~instagram-posts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-instagram-posts-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "📱 Instagram URLs or Usernames",
            "type": "array",
            "description": "List of Instagram usernames, profile URLs, or post URLs to scrape. Accepts multiple formats:\n- Usernames: nike, @cristiano, therock\n- Profile URLs: https://instagram.com/nike\n- Post URLs: https://instagram.com/p/ABC123, https://instagram.com/reel/XYZ789",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "📊 Max Items Per Profile",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum posts to extract per profile/user. Free users: limited to 10 per profile. Paid users can set a higher number, but without a login Instagram only shows about the latest 12 posts plus up to 12 recent reels per profile, so a profile returns roughly 12 to 24 items at most, whatever you enter here, unless you also provide the optional sessionid below. Leave empty for the most the profile exposes (paid users only)."
          },
          "maxItemsTotal": {
            "title": "🎯 Max Items Total",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum total posts to extract across all profiles (optional). Free users: Limited to 10 total. Paid users: Optional. Each profile still returns at most the 12 to 24 recent items Instagram shows without a login. If set, the scraper will stop once this limit is reached. If both maxItems and maxItemsTotal are set, both limits are respected."
          },
          "dateFilter": {
            "title": "📅 Date Filter",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$|^(\\d+)\\s*(day|week|month|year)s?$",
            "type": "string",
            "description": "Limit how far back to the history the scraper should go. The date should be in YYYY-MM-DD or full ISO absolute format (e.g., 2024-01-15 or 2024-01-15T00:00:00Z) or in relative format (e.g., 1 days, 2 months, 3 years). All time values are taken in UTC timezone."
          },
          "mediaTypeFilter": {
            "title": "📂 Media Type Filter",
            "enum": [
              "all",
              "image",
              "video",
              "reel",
              "carousel"
            ],
            "type": "string",
            "description": "Filter posts by content type. Use 'reel' to get only Reels, 'image' for photos only, 'carousel' for multi-image posts, or 'video' for all video content.",
            "default": "all"
          },
          "sessionid": {
            "title": "🔐 Instagram sessionid (optional, advanced)",
            "type": "string",
            "description": "OPTIONAL. Leave empty for the normal logged-out run (about 12 posts plus up to 12 reels per profile). Paste the value of the 'sessionid' cookie of an Instagram account to read deeper into a profile's history, up to 'Max Items Per Profile'. Use a throwaway or secondary account, never your main one: Instagram may restrict or ban an account used for automation, and that risk is yours. To find it: log in to instagram.com in a browser, open Developer Tools (F12), Application (Chrome) or Storage (Firefox), Cookies, https://www.instagram.com, and copy the Value of 'sessionid'. The value is a secret input: it is only sent to instagram.com through one residential proxy IP for this run, and is never stored, logged or written to the dataset. The run stops at once if Instagram rejects the session or asks for a security check. Free plan limits still apply."
          },
          "proxyConfiguration": {
            "title": "⚙️ Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. Residential proxies are recommended to avoid rate limiting."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}