---
title: "Search Instagram Posts"
method: GET
path: "/v1/instagram/posts"
tags: ["Instagram"]
---

# Search Instagram Posts

`GET /v1/instagram/posts`

## Request

- Base URL: `https://apidirect.io`
- URL: `https://apidirect.io/v1/instagram/posts`
- Auth: API key in header `X-API-Key`

Search for Instagram posts by keyword. Returns post captions, engagement metrics (likes, comments, shares, reposts, views), author metadata, hashtags, mentions, media URLs, carousel slides, audio track info, tagged users, and location. Supports fetching multiple pages in a single API call (billed per page).

**Price:** $0.006 per page. **Free tier:** 50 requests/month.

## Query parameters

- `query` string, required
- `pages` integer
- `get_sentiment` boolean

## Response `200`

Successful response

- SearchInstagramResponse: Inferred from a live response. Any field can be null or absent, and new fields may be added at any time.
  - `count` number, nullable
  - `pages` number, nullable
  - `posts` object[], nullable
    - `author` string, nullable
    - `author_name` string, nullable
    - `author_verified` boolean, nullable
    - `comments` number, nullable
    - `date` string, nullable
    - `domain` string, nullable
    - `hashtags` string[], nullable
    - `is_video` boolean, nullable
    - `likes` number, nullable
    - `media_type` string, nullable
    - `mentions` unknown[], nullable
      - unknown
    - `reposts` number, nullable
    - `shares` number, nullable
    - `snippet` string, nullable
    - `source` string, nullable
    - `title` string, nullable
    - `url` string, nullable
    - `views` number, nullable
    - `media_id` string, nullable
    - `thumbnail_url` string, nullable
    - `video_url` string, nullable
    - `video_duration` number, nullable
    - `width` number, nullable
    - `height` number, nullable
    - `carousel_media_count` number, nullable
    - `is_paid_partnership` boolean, nullable
    - `ai_label` object, nullable
      - `label` unknown
      - `detection_method` string, nullable
    - `location` unknown
    - `tagged_users` unknown[], nullable
      - unknown
    - `coauthors` unknown[], nullable
      - unknown
    - `carousel_media` object[], nullable
      - `media_id` string, nullable
      - `is_video` boolean, nullable
      - `image_url` string, nullable
      - `video_url` string, nullable
      - `width` number, nullable
      - `height` number, nullable
    - `audio` object, nullable
      - `type` string, nullable
      - `title` string, nullable
      - `artist` string, nullable
      - `audio_id` string, nullable
      - `duration_ms` number, nullable

## Other responses

- `400`: Bad request: missing or invalid parameters
- `401`: Unauthorized: invalid or missing API key
- `402`: Free tier used up for this endpoint and no payment method on file (`payment_required`).
- `403`: Account blocked after a failed payment (`account_blocked`).
- `429`: Rate limit exceeded or too many concurrent requests
- `500`: Internal server error
- `502`: Temporary failure retrieving Instagram data. Please retry shortly.
- `503`: Service temporarily unavailable. Please retry shortly.
- `504`: The request timed out

---

[API](https://skmtc.dev/apidirect/apis/api-direct.md) · [All operations](https://skmtc.dev/apidirect/apis/api-direct/llms.txt) · [OpenAPI document](https://skmtc.dev/apidirect/apis/api-direct/revisions/fa8c68d70bd0?raw)
