Instagram Posts API

Paginated profile feed posts

List public Instagram feed posts for a profile with cursor pagination and normalized post summaries for ingestion workflows.

1 CreditCost
CursorPagination
60s MaxTimeout

Quick Start

Get started with a simple API call.

const response = await fetch('https://api.crawlkit.sh/v1/crawl/instagram/posts', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    username: 'natgeo',
    cursor: null,
    options: {
      timeout: 30000
    }
  })
});

const { data } = await response.json();
console.log(data.posts.length, data.pagination.nextCursor);

Key Features

Everything you need for reliable instagram posts workflows.

Paginated Feed

Use the cursor field to keep pulling additional feed pages with a stable nextCursor and hasMore contract.

Normalized Post Items

Each post includes shortcode, media URLs, caption, counts, timestamps, and dimensions in one consistent schema.

Public Feed Only

Only public non-reel feed items are returned here. Use Instagram Reels for clips-only discovery.

How It Works

Get started in minutes with our simple API.

1

Get Your API Key

Sign up for free and get your API key instantly. No credit card required.

2

Make Your First Request

Use our simple REST API with your favorite programming language.

3

Get Structured Data

Receive clean JSON responses ready to use in your application.

API Response

Get clean, structured JSON data with every request. Our API returns comprehensive data including status codes, timing information, and your remaining credits.

  • Consistent JSON structure
  • Detailed timing metrics
  • Credit usage tracking
  • Error handling built-in
Response
{
  "success": true,
  "data": {
    "posts": [
      {
        "id": "35891234567890123",
        "shortcode": "DABCD12xyz",
        "display_url": "https://instagram.fist6-1.fna.fbcdn.net/...",
        "thumbnail_src": "https://instagram.fist6-1.fna.fbcdn.net/...",
        "is_video": false,
        "video_url": null,
        "caption": "A new story from the field.",
        "like_count": 182340,
        "comment_count": 912,
        "taken_at_timestamp": 1711262104,
        "dimensions": {
          "height": 1350,
          "width": 1080
        },
        "video_view_count": null
      }
    ],
    "pagination": {
      "nextCursor": "QVFDc1pW...",
      "hasMore": true
    },
    "timing": { "total": 2400 },
    "creditsUsed": 1,
    "creditsRemaining": 99
  }
}

Use Cases

Common applications for Instagram Posts.

Creator Monitoring

Pull the latest posts for tracked public Instagram accounts.

Content Warehousing

Ingest normalized feed items into internal analytics pipelines.

Campaign Tracking

Track how often creators publish and what formats they use over time.

Frequently Asked Questions

Everything you need to know about the Instagram Posts API.

No. Instagram Posts is feed-only. Use Instagram Reels if you want clips-only pagination.

Send the nextCursor value back as cursor in the next request. If hasMore is false there are no more pages.

Yes. You can send natgeo or a public Instagram profile URL and the endpoint normalizes it.

Start Using Instagram Posts API Today

Get 100 free credits to test the API. No credit card required.