Docs / Instagram / Search Hashtag
Instagram Search Hashtag API Reference
Paginated public posts for a hashtag, including captions and media.
Maintained by the InScrape API team · Last reviewed 2026-09-19
GET /v1/instagram/hashtag1 credit per requestRequest examples
Choose your language
All examples call the same REST endpoint.
curl "https://api.inscrape.dev/v1/instagram/hashtag?tag=specialtycoffee" \
-H "x-api-key: $INSCRAPE_KEY"Response examples
Explore the response
Switch tabs to inspect representative payloads.
{ "success": true, "credits_charged": 1, "credits_remaining": 843, "processing_time_ms": 1842, "requested_at": "2026-09-13T14:32:18Z", "query": { "tag": "specialtycoffee" }, "data": { "hashtag_posts": [ { "post_index": "1", "id": "18058122345678901", "shortCode": "C8QltIdyBGH", "postLink": "https://www.instagram.com/p/C8QltIdyBGH/", "post_timestamp": 1724176991, "likes": 84112, "comments": 902, "views": 2401558, "mediaType": 2, "product_type": "clips", "caption": "Inside one of the planet's most remote landscapes. #explore", "firstMedia": [ { "url": "https://cdn.example.com/C8QltIdyBGH.jpg", "videoUrl": "https://cdn.example.com/C8QltIdyBGH.mp4", "width": 1080, "height": 1350 } ], "owner": { "pk": "1751818088", "username": "iamsydneythomas", "full_name": "Sydney Thomas", "is_verified": true, "profile_pic_url": "https://cdn.example.com/iamsydneythomas.jpg" }, "hashtag": [ "#explore" ] } ], "next_cursor": "QVFEVGFncw...", "has_next_page": true }}Headers
| Name | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Your API key. All keys on a team share one credit pool. |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tag | string | Yes | Hashtag without the # |
| cursor | string | No | Pagination cursor returned by the previous call |
Errors
| Status | Code | When |
|---|---|---|
400 | INVALID_PARAMS | A required parameter is missing or the wrong type. |
401 | INVALID_API_KEY | The key is unknown or has been revoked. |
402 | INSUFFICIENT_CREDITS | Balance is below this endpoint's cost. |
402 | KEY_LIMIT_REACHED | This API key has reached its credit limit. |
404 | ENDPOINT_NOT_FOUND | The API endpoint does not exist. Check the API URL and endpoint path. No credits are charged. |
410 | CURSOR_EXPIRED | The cursor expired or is invalid. Start again from the first page. |
500 | SCRAPE_FAILED | Upstream fetch failed after retries. |
503 | SERVICE_UNAVAILABLE | The API is temporarily unavailable. Check credits_charged; failures before resource use are free. |
504 | UPSTREAM_TIMEOUT | The upstream scraper timed out. |
Completed lookups return 200 and are charged at the endpoint rate, including private accounts and confirmed missing targets. Empty or missing targets return empty lists; an unavailable Profile is null. Documented empty next-page responses remain free. Check credits_charged on every response.

