GETHashtags1 credit

Recent hashtag posts

GET https://api.instagramapi.dev/v1/hashtag/recent

Returns the most recent posts for a hashtag, newest first.

Build this with an AI agent

Paste this prompt into Claude, Codex, or any coding agent.

Parameters

NameTypeRequiredDescription
tagstringyesHashtag without the `#`.
cursorstringnoPagination cursor returned as `next_cursor` in the previous response. Omit for the first page.

Example request

curl "https://api.instagramapi.dev/v1/hashtag/recent?tag=sunset" \
  -H "Authorization: Bearer $INSTAGRAMAPI_KEY"

Try it

Live request · uses 1 credit

Example responses

Switch tabs to see the body shape for success and each error status.

{
  "data": {
    "items": [
      {
        "id": "3912183471120209303",
        "shortcode": "DZK3iOsRlWX",
        "type": "photo",
        "product_type": "feed",
        "url": "https://www.instagram.com/p/DZK3iOsRlWX/",
        "caption": "Tonight's sky 🌇 #sunset",
        "taken_at": "2026-06-04T15:59:27Z",
        "like_count": 2499414,
        "comment_count": 55165,
        "view_count": null,
        "image_url": "https://instagram.com/.../media.jpg",
        "video_url": null,
        "video_duration": null,
        "location": null,
        "author": {
          "id": "9931",
          "username": "skydaily",
          "full_name": "Sky Daily",
          "is_verified": true,
          "is_private": false,
          "profile_pic_url": "https://instagram.com/.../nike.jpg"
        }
      }
    ],
    "next_cursor": "WyJlNmFmZmIz..."
  },
  "meta": {
    "endpoint": "hashtag/recent",
    "request_id": "req_3f8a1c9e",
    "credits_charged": 1,
    "credits_remaining": 4987,
    "ms": 412
  }
}

Response fields

Fields returned under data on a 200 response. Every response also includes a meta object with billing info.

FieldTypeDescription
itemsarray<object>The hashtag's most recent posts, newest first.
items[].idstringNumeric post/media id.
items[].shortcodestringThe post's shortcode, the part after /p/ in its instagram.com URL.
items[].typestringMedia type: photo, video, or carousel.
items[].product_typestringMore specific format (e.g. feed, clips, igtv).
items[].urlstringCanonical instagram.com URL for the post.
items[].captionstringThe post's caption text.
items[].taken_atstringWhen the post was published (ISO 8601, UTC).
items[].like_countnumberNumber of likes.
items[].comment_countnumberNumber of comments.
items[].view_countnullView count for video/reel content; null for photos.
items[].image_urlstringURL of the post's image (cover frame for video).
items[].video_urlnullURL of the video file; null for photos.
items[].video_durationnullVideo length in seconds; null for photos.
items[].locationnullPlace tagged on the post, if any; null otherwise.
items[].authorobjectThe account that published the post.
items[].author.idstringNumeric account id (stable even if the username changes).
items[].author.usernamestringThe account's @handle.
items[].author.full_namestringDisplay name shown on the profile (may be empty).
items[].author.is_verifiedbooleanWhether the account has a verified badge.
items[].author.is_privatebooleanWhether the account is private.
items[].author.profile_pic_urlstringURL of the account's profile picture.
next_cursorstringPass back as `cursor` to fetch the next page; null when there are no more results.

Pagination

List endpoints return up to one page of items plus a next_cursor. To fetch the next page, pass it back as the cursor query parameter. When next_cursor is null, you've reached the end.