Instagram Hashtag API reference

A page of recent public posts carrying a hashtag, with a cursor. Search Instagram by tag and page through the results. Takes a keyword, 8 credits a call.

This named API keeps Instagram fields in Instagram's own vocabulary. For a higher-level product page, see Instagram Hashtag API.

Endpoint

GET /v1/instagram/hashtag
Authorization: Bearer sv_live_...

`POST` is also accepted with the same parameters in the request body. Send the key in the `Authorization` header, never in the query string.

Parameters

NameTypeRequiredNotes
q string yes Search term or hashtag, up to 100 characters. Trimmed and lowercased before the lookup.
cursor string no Cursor returned by the previous page.
limit integer no Maximum items to return, up to 50.

Sample Request

This is a copyable request shape. Replace the sample values with the public Instagram target or parameters your workflow uses.

curl -G 'https://api.sourcevine.io/v1/instagram/hashtag' \
  -H 'Authorization: Bearer sv_live_...' \
  --data-urlencode 'q=coffee' \
  --data-urlencode 'limit=20'

Sample Response

A response this API returned, against the target above. Your values depend on the resource you ask about and when you ask.

{
  "data": {
    "items": [
      {
        "url": "https://www.instagram.com/p/DcxsWKsEneF/",
        "likes": 0,
        "saves": null,
        "views": null,
        "cached": false,
        "postId": "DcxsWKsEneF",
        "caption": "Drip it yourself ☕️\nเลือกเมล็ดที่ชอบ แล้วลองดริปกาแฟด้วยตัวเอง\nไม่ต้องมีประสบการณ์ บาริสต้าของเราคอยแนะนำให้ทุกขั้นตอน\nมาลองสนุกกับกาแฟแก้วที่คุณดริปเอง\nที่ณิธานพระตำหนัก 🌿\n\nพร้อมให้บริการ\n☕️ กาแฟ\n🍰 เบเกอรี่\n🥯 อาหารสไตล์ All day Breakfast and Lunch\n🍺 เครื่องดื่ม\n📌 𝐎𝐩𝐞𝐧 𝐝𝐚𝐢𝐥𝐲 เปิดบริการทุกวัน 07.30-22.00 น.\n📌 𝐂𝐨𝐟𝐟𝐞𝐞 & 𝐍𝐨𝐧 𝐂𝐨𝐟𝐟𝐞𝐞 07.30-18.00 น.\nสาขาเขาพระตำหนัก พัทยา ตั้งอยู่ในโครงการ Pattaya Fisherman Village\n📞 โทร [redacted]\n#ณิธาน #NITANPATTAYA #ณิธานพัทยา #เขาพระตำหนัก #พัท…",
        "comments": 0,
        "username": "nitanpratumnak",
        "fetchedAt": "2026-09-02T07:24:18Z",
        "mediaType": "image",
        "profileLink": "https://www.instagram.com/nitanpratumnak",
        "publishedAt": null,
        "cacheAgeSeconds": null,
        "sourceTimestamp": null
      },
      {
        "url": "https://www.instagram.com/p/Dcxr_IFtZcG/",
        "likes": 0,
        "saves": null,
        "views": null,
        "cached": false,
        "postId": "Dcxr_IFtZcG",
        "caption": "Coffee Journey @carboncafeeu #cafe #coffeelover #coffeetime #coffeeshop #coffee",
        "comments": 0,
        "username": "carboncafeeu",
        "fetchedAt": "2026-09-02T07:24:18Z",
        "mediaType": "image",
        "profileLink": "https://www.instagram.com/carboncafeeu",
        "publishedAt": null,
        "cacheAgeSeconds": null,
        "sourceTimestamp": null
      },
      {
        "url": "https://www.instagram.com/p/DcxruS0MDQG/",
        "likes": 0,
        "saves": null,
        "views": null,
        "cached": false,
        "postId": "DcxruS0MDQG",
        "caption": "Indian morning be like\n.\n.\n.\n.\n.\n.\n.\n#fujifilm #photography #morning #coffee #summer",
        "comments": 0,
        "username": "isynashigaru",
        "fetchedAt": "2026-09-02T07:24:18Z",
        "mediaType": "image",
        "profileLink": "https://www.instagram.com/isynashigaru",
        "publishedAt": null,
        "cacheAgeSeconds": null,
        "sourceTimestamp": null
      }
    ],
    "cached": false,
    "fetchedAt": null,
    "nextCursor": null,
    "cacheAgeSeconds": null
  },
  "success": true,
  "available": true
}

Fields

FieldTypeNotes
items array A page of public Instagram posts or videos.
nextCursor string | null Pass as cursor to request the next page.
items[].views integer | null Present only where the platform reports it.
items[].likes integer | null Per-item public like count.
items[].cached boolean Matches the page provenance on cached reads.
fetchedAt ISO datetime When Sourcevine read the public page.
sourceTimestamp ISO datetime | null The platform timestamp when it is available.
cached boolean True when this answer repeats an identical request made moments earlier.
cacheAgeSeconds integer Seconds since the reading was taken.

Availability States

StatusChargedClient behavior
availableyes for live readsUse data.
not_foundyesStore the state and stop polling.
privateyesStore the state and stop polling.
unsupportednoFix the URL or call the matching API.
upstream_unavailablenoRetry later with backoff.

Unavailable resources return `success: true`, `available: false`, `availability`, and `data: null`. API or authentication failures return `success: false` with an `error` object.

Billing

A call costs 8 credits. A deleted, private or empty resource is charged like any lookup and says so. An unsupported URL or a read we could not complete is not charged. The `X-Credits-Charged` response header is the source of truth for what happened on that request.

Successful responses include `fetchedAt`, the time we read the platform.

What This API Does Not Return

  • No contact or bio fields: Bios, email addresses, phone numbers, postal addresses and messenger handles are outside the response contract.
  • No private data: Private accounts, restricted content and unavailable resources return typed availability instead of guessed data.
  • No comments or downloads: List APIs return recent public post metadata and metrics. They do not return comment bodies, media files or hidden analytics.

Related

Last updated 1 September 2026