# HireScrape Instagram Scraper

> HireScrape Instagram Scraper is a paid API for AI agents from hirescrape.com, paid per call via x402, $0.00225/call, status unknown (last checked 2026-10-10, last successful call 2026-07-02).

Scrapes Instagram profiles, posts, reels, and comments across 8 distinct data-extraction modes

## Facts

- Endpoint: POST https://hirescrape.com/api/tools/instagram?utm_source=zero.xyz
- Price: $0.00225/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Last successful call: 2026-07-02
- Success rate: 68% of calls made through Zero
- Rating: 2.4 / 5 from 3 reviews
- Activations on Zero: 47
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hirescrape-com-5787c54f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ZWGoJPia215R1e52OQauV

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 hirescrape-com-5787c54f -d '<json body>'
```

Example prompt: Pull all the data you can from the Instagram profile @natgeo — I want their bio, follower count, recent posts, and engagement stats using the profile mode.

## When to prefer this

Use this endpoint when you need to extract structured Instagram data across multiple content types (profiles, posts, reels, comments) in a single API. Prefer it over browser automation or manual scraping when you need reliable, structured JSON output for influencer research, social listening, or competitive analysis on Instagram specifically.

## Known failure modes

- Private or restricted account returns limited or no data
- Invalid username or post URL returns an error
- Instagram rate limiting or blocking causes partial or failed scrape
- Unsupported mode value returns a validation error
- Deleted or non-existent content returns empty result

## How this service works

Instagram profiles, posts, reels, comments — 8 modes.

## Output

Returns structured Instagram data depending on the selected mode: profile details (bio, follower/following counts, post count), post metadata (captions, likes, timestamps, media URLs), reel data, or comment threads — all as structured JSON.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "id": {
   "type": "string",
   "description": "Object ID (ad / highlight / etc)."
  },
  "url": {
   "type": "string",
   "description": "Full URL of the target object."
  },
  "mode": {
   "enum": [
    "profile",
    "basic_profile",
    "user_posts",
    "post",
    "transcript",
    "search_reels",
    "post_comments",
    "user_reels",
    "highlights",
    "highlight_detail",
    "song_reels",
    "embed"
   ],
   "type": "string",
   "default": "profile",
   "description": "Which endpoint to call. Options: profile, basic_profile, user_posts, post, transcript, search_reels, post_comments, user_reels, highlights, highlight_detail, song_reels, embed."
  },
  "page": {
   "type": "integer",
   "description": "Page number (default 1)."
  },
  "trim": {
   "type": "boolean",
   "description": "Return a condensed response."
  },
  "limit": {
   "type": "integer",
   "default": 20,
   "maximum": 500,
   "minimum": 1,
   "description": "Max items to collect (applies to paginated modes)."
  },
  "query": {
   "type": "string",
   "description": "Search keyword."
  },
  "cursor": {
   "type": "string",
   "description": "Pagination cursor."
  },
  "handle": {
   "type": "string",
   "description": "Username / handle (without @)."
  },
  "max_id": {
   "type": "string",
   "description": "Pagination token."
  },
  "region": {
   "type": "string",
   "description": "Proxy / market region (e.g. US)."
  },
  "userId": {
   "type": "string",
   "description": "Instagram user ID."
  },
  "user_id": {
   "type": "string",
   "description": "Platform user ID (often faster than handle)."
  },
  "audio_id": {
   "type": "string",
   "description": "Instagram audio/song ID."
  },
  "date_posted": {
   "type": "string",
   "description": "Posting timeframe."
  },
  "next_max_id": {
   "type": "string",
   "description": "Pagination token."
  },
  "download_media": {
   "type": "boolean",
   "description": "Return permanent media URLs."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "items": [
   {
    "username": "instagram",
    "biography": "Discover what's new on Instagram 🌟",
    "full_name": "Instagram",
    "is_verified": true,
    "posts_count": 7800,
    "profile_url": "https://www.instagram.com/instagram/",
    "followers_count": 681000000
   }
  ],
  "runId": "bd_example",
  "payment": {
   "amount": "0.002250",
   "currency": "USD",
   "protocol": "x402"
  },
  "duration": 8
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hirescrape-com-5787c54f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hirescrape.com](https://www.zero.xyz/host/hirescrape.com/llms.txt)
