Better Fetch

Instagram Discovery Search

Find Google-indexed public Instagram posts, reels, profiles, or recency-ranked reel candidates with transparent best-effort search semantics.

Socialv0.3.0~2 credits/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Search indexed hashtag posts, public profiles, keyword reels, or query-free recency-ranked reel candidates.

Keyword phrase for profiles or reels mode.

Next Google results page number from a previous response.

Optional two-letter country for localized Google results.

Hashtag with or without # for hashtag mode.

Return indexed posts and reels or reels only.

Optional Google recency filter for reels mode.

Maximum indexed matches to return.

Sign in and run
~2 credits/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

modecountqueryhashtagresultsmedia_typesource_urldate_posted

Overview

Instagram Discovery Search uses Google's public index for Instagram matches, filters the result URLs by operation, and returns normalized titles, snippets, handles, shortcodes, and pagination. Trending-reels mode is explicitly a public-search recency rank with day-to-week-to-month fallback—not Instagram's authenticated Explore ranking or a complete Instagram-native index.

Last validated: Jul 15, 2026

Input

mode"hashtag" | "profiles" | "reels" | "trending_reels"required

Search indexed hashtag posts, public profiles, keyword reels, or query-free recency-ranked reel candidates.

querystring

Keyword phrase for profiles or reels mode.

cursorstring

Next Google results page number from a previous response.

countrystring

Optional two-letter country for localized Google results.

hashtagstring

Hashtag with or without # for hashtag mode.

media_type"all" | "reels"default: "all"

Return indexed posts and reels or reels only.

date_posted"last-hour" | "last-day" | "last-week" | "last-month" | "last-year"

Optional Google recency filter for reels mode.

max_resultsintegerdefault: 10

Maximum indexed matches to return.

Output

modestringrequired

Resolved discovery mode

countintegerrequired

Number of indexed matches returned

querystringrequired

User-provided hashtag or keyword

hashtagstring

Normalized hashtag

resultsobject[]required

Normalized indexed Instagram matches

media_typestring

Requested media filter

source_urlstringrequired

Rendered Google search URL

date_postedstring

Requested Google recency filter

next_cursorstring

Next Google results page number

ranking_basisstring

public_search_recency_rank for trending_reels mode

Examples

hashtag-posts

{
  "mode": "hashtag",
  "hashtag": "funnydogs",
  "media_type": "all",
  "max_results": 5
}

profile-search

{
  "mode": "profiles",
  "query": "fitness coach",
  "max_results": 5
}

reel-search

{
  "mode": "reels",
  "query": "dogs",
  "max_results": 5
}

public-trending-reels

{
  "mode": "trending_reels",
  "max_results": 5
}

Use cases

Hashtag discovery

Find public posts and reels Google has indexed for a campaign or research hashtag.

Creator discovery

Find public Instagram profiles whose indexed profile or caption text matches a niche.

Acquisition research

Build a transparent first-pass lead or content set before deeper profile and post enrichment.

Public reel trend proxy

Collect recently indexed public reel candidates in search rank order, with the source and recency window disclosed.

FAQ

Is this a complete Instagram search index?

No. It is explicitly best-effort and depends on public Google indexing.

Does it need an Instagram login?

No. It uses public search results and public Instagram URLs only.

Can it search only reels?

Yes. Use reels mode for keyword search, hashtag mode with media_type set to reels, or trending_reels for a query-free public-search recency rank.

Is trending_reels Instagram's official trending feed?

No. Logged-out Instagram Explore requires login. This mode transparently ranks recently Google-indexed public reels and reports that basis in every response.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Instagram Discovery Search"
2. Call run_tool with:
   name: "instagram_discovery_scraper"
   input: {"mode":"hashtag","hashtag":"funnydogs","media_type":"all","max_results":5}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/instagram_discovery_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"mode":"hashtag","hashtag":"funnydogs","media_type":"all","max_results":5}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/instagram-discovery-scraper && cd instagram-discovery-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"hashtag","hashtag":"funnydogs","media_type":"all","max_results":5}'