# Apify Instagram Scraper

> Apify Instagram Scraper is a paid API for AI agents from apify-api-git-br-better-actor-pay-merit-systems.vercel.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14, last successful call 2026-08-13).

Starts the Apify instagram-scraper actor to scrape posts, profiles, hashtags, places, photos, and comments from Instagram URLs or search queries

## Facts

- Endpoint: POST https://apify-api-git-br-better-actor-pay-merit-systems.vercel.app/api/actors/apify/instagram-scraper/call
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Last successful call: 2026-08-13
- Success rate: 95% of calls made through Zero
- Activations on Zero: 47
- Tags: x402
- Canonical page: https://www.zero.xyz/c/apify-instagram-scraper-e86ee306
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xxl4SCsBkebQOTw4nZ1Z_

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability apify-instagram-scraper-e86ee306 -d '<json body>'
```

Example prompt: Scrape the last 50 posts from the Instagram profile @natgeo and give me the image URLs, captions, likes, and comment counts for each.

## When to prefer this

Use this endpoint when you need to programmatically extract structured data from Instagram — posts, profiles, hashtags, places, or comments — at scale, especially when a single API call with payment via x402/USDC is preferred over managing Apify platform credentials directly.

## Known failure modes

- Invalid or private Instagram URL returns empty or error result
- Instagram rate limiting may cause partial results
- Actor timeout for very large scraping jobs
- Payment failure or insufficient USDC balance prevents execution
- Invalid actor input schema returns 400 error

## Output

Returns a signed token for polling the actor run status and fetching results; results include structured Instagram data such as post content, media URLs, captions, likes, comments, profile info, and hashtag/place metadata depending on input.

## Example request

```json
{
 "input": {
  "startUrls": [
   {
    "url": "https://www.instagram.com/p/ABC123xyz/"
   }
  ],
  "maxResults": 1
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "properties": {
      "input": {
       "type": "object",
       "required": [
        "resultsType",
        "searchType",
        "addParentData"
       ],
       "properties": {
        "search": {
         "type": "string",
         "description": "Search for Instagram hashtags, profiles, or places. Use `#` for hashtags, e.g. `#travel`."
        },
        "directUrls": {
         "type": "array",
         "items": {
          "type": "string"
         },
         "description": "Add one or more Instagram URLs to scrape. URL format must match your content type: /p/ for posts and comments /reel/ for reels /username/ for profile details Leave blank if using the search query instead."
        },
        "searchType": {
         "enum": [
          "hashtag",
          "profile",
          "place",
          "user"
         ],
         "type": "string",
         "default": "hashtag",
         "description": "Hashtag search returns posts tagged with that term. Profile search returns matching accounts. Place search returns matching locations."
        },
        "resultsType": {
         "enum": [
          "posts",
          "details",
          "comments",
          "reels",
          "mentions",
          "stories"
         ],
         "type": "string",
         "default": "posts",
         "description": "**Posts** returns a feed of content. **Profile, hashtag, or place details** returns metadata about the page: follower count, bio, post count, and profile picture. Comments only work with post URLs, e.g. `instagram.com/p/ABC123xyz/` not `instagram.com/username/`."
        },
        "searchLimit": {
         "type": "integer",
         "maximum": 250,
         "minimum": 1,
         "description": "Set how many profiles, places, or hashtags to find. To limit posts per result, use Results limit per URL. Higher values increase compute usage and cost."
        },
        "resultsLimit": {
         "type": "integer",
         "maximum": 9007199254740991,
         "minimum": 1,
         "description": "Set how many posts or comments to scrape per Instagram URL. Higher values increase compute usage and co
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/apify-instagram-scraper-e86ee306/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from apify-api-git-br-better-actor-pay-merit-systems.vercel.app](https://www.zero.xyz/host/apify-api-git-br-better-actor-pay-merit-systems.vercel.app/llms.txt)
