Skip to main content

Search Hashtag Posts

Immutable Catalog Entry

This descriptor comes from the active versioned Portal catalog.

READscrape-creators.scrape_creators_instagram_get_v1_instagram_search_hashtag
  • Contract tier: legacy
  • Risk: read
  • Catalog version: scrape-creators-2026.07.12.1
  • Descriptor hash: e6cc02e1a4916e968b2eb9f9837d89f3d71d395026055d41127bf0a7fe59bb94

Use this when you need ScrapeCreators Instagram data from GET /v1/instagram/search/hashtag for Search Hashtag Posts. Finds public Instagram posts for a hashtag using Google Search, then returns post details such as caption, play count when available, like count, comment count, owner, and post time. Results depend on what Google has indexed, so this is best-effort and not a complete Instagram-native hashtag search. Pass media_type=reels if you only want reels. Use date_posted for recent posts and pass the returned cursor to fetch the next page. Returns the ScrapeCreators response in the standard MCP envelope with ok/data/error/meta. This is read-only. Requires the portal grant header and a ScrapeCreators BYOK API key.

Request Body

{
"jsonrpc": "2.0",
"id": "scrape-creators-scrape-creators-instagram-get-v1-instagram-search-hashtag-example",
"method": "tools/call",
"params": {
"name": "scrape-creators.scrape_creators_instagram_get_v1_instagram_search_hashtag",
"arguments": {
"body": "",
"cursor": "",
"params": "",
"compact": "",
"hashtag": "",
"max_items": "",
"media_type": "all",
"date_posted": "last-hour",
"include_raw": false,
"path_params": ""
}
}
}

Arguments Schema

{
"type": "object",
"properties": {
"body": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "null"
}
],
"title": "Body",
"default": null,
"description": "JSON request body for provider endpoints that accept one."
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The cursor returned by the previous response. In this version, it is the next Google results page number."
},
"params": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Params",
"default": null,
"description": "Optional advanced query parameter object. Prefer the documented top-level parameters when available."
},
"compact": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Compact",
"default": null,
"description": "When true, trims large list payloads before returning them to the agent."
},
"hashtag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Hashtag",
"default": null,
"description": "The hashtag to search for. Include or omit the #."
},
"max_items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Items",
"default": null,
"description": "Maximum number of list items to return when compacting provider responses."
},
"media_type": {
"enum": [
"all",
"reels"
],
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Media Type",
"default": null,
"description": "Use all to search public posts and reels, or reels to only return reels. Defaults to all."
},
"date_posted": {
"enum": [
"last-hour",
"last-day",
"last-week",
"last-month",
"last-year"
],
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date Posted",
"default": null,
"description": "Only return Google-indexed posts found in this relative window."
},
"include_raw": {
"type": "boolean",
"title": "Include Raw",
"default": false,
"description": "When true, returns both compact normalized data and the raw provider payload; this can be large."
},
"path_params": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Path Params",
"default": null,
"description": "Path template values for endpoints that expose path placeholders."
},
"cache_ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Cache Ttl Seconds",
"default": null,
"description": "Optional cache lifetime for idempotent GET requests."
},
"confirm_high_cost": {
"type": "boolean",
"title": "Confirm High Cost",
"default": false,
"description": "Set true only when intentionally running a high-credit or write-intent request."
}
},
"additionalProperties": false
}

Output Schema

{
"type": "object",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the local or provider operation completed successfully."
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Bounded operation result when ok is true."
},
"meta": {
"type": "object",
"description": "Safe request, pagination, cache, and timing metadata.",
"additionalProperties": true
},
"error": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Safe structured error when ok is false."
}
},
"description": "Scrape Creators MCP normalized response envelope.",
"additionalProperties": false
}

Code Examples

curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "scrape-creators-scrape-creators-instagram-get-v1-instagram-search-hashtag-example",
"method": "tools/call",
"params": {
"name": "scrape-creators.scrape_creators_instagram_get_v1_instagram_search_hashtag",
"arguments": {
"body": "",
"cursor": "",
"params": "",
"compact": "",
"hashtag": "",
"max_items": "",
"media_type": "all",
"date_posted": "last-hour",
"include_raw": false,
"path_params": ""
}
}
}'

Example Responses

{
"ok": true,
"message": "Tool scrape-creators.scrape_creators_instagram_get_v1_instagram_search_hashtag executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}