Skip to main content
Glama

TrueScrape

instagram: Posts under a hashtag

instagram_hashtagPosts
Read-only

Posts under a hashtag. Posts carrying a hashtag. tab=top is Instagram's ranking (one fixed page, no cursor); tab=recent is chronological and paginates. Falls back to the server-rendered tag page when the JSON surface declines, which returns the top grid only. Set extra_fetch=true to fill each post's publish date, like and comment counts and caption from its own page: 1 credit per item fetched, up to the page size. Costs 1 credit.

Input Schema

NameRequiredDescriptionDefault
tabNoInstagram's ranking, or chronologicaltop
cursorNo`pagination.cursor` from a previous response. `recent` only
hashtagYesHashtag (#nasa or nasa), or an /explore/tags/ URL
extra_fetchNoWhen true, fetches each item's own page to fill fields the list page leaves null. Costs 1 extra credit per page fetched, up to the page size.
cache_max_ageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses credit cost (1 credit base, +1 per item fetched with extra_fetch, capped at page size), the fixed-page limitation of the top tab, and a fallback path to the server-rendered tag page that returns only the top grid. These are exactly the operational traits an agent cannot infer from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The cost and behavioral facts are front-loaded after a short lead, and most sentences carry distinct information. The redundant second sentence ('Posts carrying a hashtag') is pure waste and could be dropped without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by explaining pagination availability, the degraded fallback result shape, and what extra_fetch enriches. The only real gap is `cache_max_age`, which is left entirely unexplained for a tool that otherwise documents cost and caching-adjacent behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, and the description adds genuine meaning on top: it explains what `tab` actually selects (ranking vs chronological, with pagination implications) and what `extra_fetch` populates (publish date, like/comment counts, caption) plus its credit cost. It adds nothing for `cursor` or `cache_max_age`, with the latter undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening states a specific verb+resource (retrieving posts carrying a given hashtag) in plain terms, so an agent knows exactly what the tool returns. It does not name any sibling (e.g., instagram_search or tiktok_hashtagVideos) to delimit its scope, and the second sentence 'Posts carrying a hashtag' merely restates the first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives real guidance on picking between the two tabs: `tab=top` is a fixed ranked page with no cursor while `tab=recent` is chronological and paginates, which effectively tells the agent to use `recent` when it needs more than one page. However, it never says when to choose this tool over its siblings or when not to use it, so usage is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.