Skip to main content
Glama

Search the catalogue for a project

growwer_search_project_medias
Read-onlyIdempotent

Search a project's media catalogue by price, traffic, domain rating, topics, language, and country, and see each media's status in that project.

Instructions

Use this when the user wants media to publish on for one of their projects: searches the catalogue with filters on price, metrics, topics, languages, countries and more, and answers each media with its state in the project.

Input Schema

NameRequiredDescriptionDefault
idYesThe project.
newNoMedias Growwer matched with the project recently. Only `true` applies it; omit it otherwise.
sortNoThe order. Without it, the web's default order: medias on the project's topic and language first, then best sellers and medias with more published orders. Ties are always broken by media id, so pages never overlap. `-growwerRank`: best match first; `postPrice`, `linkAdditionPrice`: cheapest first; `matchedAt`, `-matchedAt`: when Growwer matched the media with the project; `-traffic`, `-domainRating`, `-referringDomains`: highest first; `linkedToReferringRatio`: lowest first.
limitNoMedias per page, 1 to 100.
boughtNo`true`: only medias you bought for the project; `false`: leave them out.
domainNoMedias whose domain contains this text, 1 to 255 characters.
offsetNoMedias to skip, at most 99900.
sourceNoWhich of the project's medias to search: `all` (the default), `recommended` (those Growwer recommends for the project), or those you marked `favourite`, `discarded` or `requested`, or `bought` for the project. Do not combine it with the parameter of the same state.
topicsNoA comma-separated list of topic ids, as in GET /vocabulary: medias on any of them.
countryNoA comma-separated list of country codes, as in GET /vocabulary.
languageNoA comma-separated list of language codes, as in GET /vocabulary.
discardedNo`true`: only the medias you discarded for the project; `false`: leave them out.
favouriteNo`true`: only your favourites for the project; `false`: leave them out.
requestedNo`true`: only the medias you requested for the project; `false`: leave them out.
flashOfferNo`true`: only medias with a flash offer running; `false`: leave them out.
maxTrafficNoMaximum monthly organic traffic.
minTrafficNoMinimum monthly organic traffic.
recommendedNo`true`: only the medias Growwer recommends for the project; `false`: only the others.
websiteTypeNoA comma-separated list of website types: `blog`, `press`.
maxPostPriceNoMaximum post price, in cents.
minPostPriceNoMinimum post price, in cents.
postLinkTypeNoA comma-separated list of link types the post offer gives: `dofollow`, `nofollow`, `citation`.
savedFilterIdNoApply one of your saved filters of this project, including one saved on the web, instead of the other parameters. Do not combine it with any filter, `source` or `sort`. A filter saved on the web that uses a filter the API does not support is refused with 422 `saved_filter_unsupported`.
ranksAiKeywordNoA comma-separated list of AI answer engines: medias the web lists an AI keyword of the project for, from any of them. `googleAiOverview`, `chatgpt`, `googleAiMode`.
hasLinkAdditionNoMedias that offer adding a link to an existing article. Only `true` applies it; omit it otherwise.
homepageListingNoMedias that offer listing the post on their homepage. Only `true` applies it; omit it otherwise.
maxDomainRatingNoMaximum domain rating, 0 to 100.
minDomainRatingNoMinimum domain rating, 0 to 100.
notBannedTopicsNoLeave out medias that refuse the topic of the project. Only `true` applies it; omit it otherwise.
ranksGoalKeywordNoA comma-separated list of keyword origins: medias that rank for a keyword of the project from any of them. `user`: your keywords; `publicGenerated`: keywords Growwer found for the project.
trafficTrendUpwardNoMedias whose traffic is growing. Only `true` applies it; omit it otherwise.
linkAdditionLinkTypeNoA comma-separated list of link types the link addition offer gives: `dofollow`, `nofollow`, `citation`.
maxLinkAdditionPriceNoMaximum link addition price, in cents.
minLinkAdditionPriceNoMinimum link addition price, in cents.
promotedSocialNetworkNoA comma-separated list of social networks the media promotes posts on: `twitter`, `instagram`, `facebook`, `pinterest`, `tumblr`, `newsletter`.
withoutAdvertisingLabelNoMedias that never label posts as advertising. Only `true` applies it; omit it otherwise.
maxLinkedToReferringRatioNoMaximum ratio of linked domains to referring domains, such as 1.5.
minLinkedToReferringRatioNoMinimum ratio of linked domains to referring domains, such as 0.5.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds useful result context by saying each media is answered with its state in the project, but it does not discuss pagination behavior, authentication assumptions, or the response envelope.

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

Conciseness5/5

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

A single front-loaded sentence combines the trigger, search behavior, and result semantics without filler. Despite the large schema, it stays appropriately brief because parameter details are delegated to the schema.

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?

For a 38-parameter search tool, the schema exhaustively covers parameter semantics and annotations cover read-only safety. The description gives partial return context by mentioning each media's state in the project, and while it does not explain pagination or the response envelope in detail, the remaining gaps are modest given the schema richness.

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

Parameters3/5

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

With 100% schema description coverage across 38 parameters, detailed range, enum, and format semantics are already in the schema. The description only summarizes filter families such as price, metrics, topics, languages, and countries, adding an overview but little parameter meaning beyond the schema.

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

Purpose5/5

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

The description provides a specific verb (searches), a clear resource (the media catalogue), and a scoped use case (for one of the user's projects), plus the distinctive return behavior of each media's state in that project. This separates it from generic catalogue or media-detail siblings such as growwer_get_catalogue_media.

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

Usage Guidelines4/5

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

The opening clause, 'Use this when the user wants media to publish on for one of their projects,' gives a clear triggering context. It does not explicitly name when to use an alternative sibling, so it lacks full when/when-not routing guidance.

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

Deploy Server

Other Tools