TinyFish / Monid research report

Researched: 2026-08-28 03:59 UTC Scope: What https://monid.ai/blog/tinyfish is, how the underlying service works, and whether it fits this dotfiles/Pi setup.

Executive conclusion

Yes, it can be integrated, but TinyFish Search/Fetch—not the whole Monid marketplace and not MCP—fits this setup best.

What the Monid page is

At retrieval time, monid.ai/blog/tinyfish returned HTML whose title and metadata were “Free search & fetch for every agent”. The rendered page says Monid connects agents to many tools and advertises:

The route appears to fall back to, or currently contain, the Monid homepage. Therefore, the page itself is not reliable as a standalone technical specification. The interpretation below is cross-checked against TinyFish’s official documentation and Monid’s current documentation.

Monid and TinyFish are different products:

Monid’s marketing page says “no API keys,” while its Skill and API documentation describe API-key authentication. Treat the marketing claim as an abstraction for an agent-integrated flow, not as evidence that programmatic use needs no credentials.

How TinyFish works

agent or script
      |
      +--> Search: query -> ranked structured results
      +--> Fetch: URLs -> rendered, cleaned page content
      +--> Agent: URL + natural-language goal -> browser performs steps -> result
      +--> Browser: create cloud Chromium -> Playwright/CDP controls it directly

2. Fetch

POST https://api.fetch.tinyfish.ai accepts up to 10 URLs. TinyFish renders the pages in a real browser, then returns Markdown, semantic HTML, or a JSON document tree. It removes navigation and boilerplate, which is useful as model input and can reduce context size.

Useful controls include:

  • ttl: 0 for a live fetch;
  • positive ttl for acceptable cache age;
  • ETag/Last-Modified conditional requests, which the caller must store and replay;
  • CSS include_selectors / exclude_selectors; and
  • per-URL error reporting without failing the whole batch.

Private IPs, localhost, and cloud-metadata endpoints are rejected. The documented limit is 150 URLs/minute and the backend timeout is up to 110 seconds per URL. Fetch is currently free.

3. Agent

The Agent API takes a target URL plus a natural-language goal, for example “find the current pricing plans and return JSON.” It operates a remote browser, navigates pages, clicks, fills forms, and returns a structured result.

Runs can be:

  • synchronous: POST /v1/automation/run;
  • asynchronous: POST /v1/automation/run-async, then poll GET /v1/runs/{id}; or
  • streamed: POST /v1/automation/run-sse.

Current published pricing is $0.016 per Agent step, charged from a prepaid Wallet. Initial account limits are documented as two concurrent Agent runs and five Browser sessions; higher limits require an account change. Agent runs can expose action logs, screenshots, source URLs, and errors, so prompts and target sites should be treated as observable service data.

4. Browser

The Browser API creates an isolated cloud Chromium session and returns a CDP URL. Existing Playwright, Puppeteer, Selenium, or raw CDP code can connect to it. This is the lower-level option when the user—not TinyFish’s Agent—must own the automation logic.

Published pricing is $0.002 per browser minute, with residential proxy routing and anti-bot handling included according to TinyFish’s product pages. These are vendor claims, and the advertised pass rates are internal testing claims rather than an independent guarantee.

Login state and credentials

TinyFish distinguishes:

  • Browser Profile: runtime behavior (lite or stealth);
  • Browser Context Profile: reusable cookies/local storage/session storage for recurring authenticated runs; and
  • Vault credentials: selected credentials supplied at the browser-input layer.

The documentation says vault values are not shown to the AI agent or included in prompts, logs, screenshots, or streaming output. That reduces exposure, but it does not remove the fundamental risk of giving a hosted browser access to an account. The Privacy Policy describes broad collection and retention “as long as necessary” without a concrete retention schedule.

Monid’s role

Monid’s documented API is a general tool marketplace:

  1. POST /v1/discover searches the catalog for a capability.
  2. POST /v1/inspect returns the selected endpoint’s schema and price.
  3. POST /v1/run executes it, synchronously or asynchronously.
  4. Run status and output are retrieved through the run endpoints.

Monid charges endpoint-specific pay-per-use prices from its Wallet. This is useful when the requirement is broader than web access—for example, social-media extraction, enrichment, media generation, or a specialist data provider. It also adds another account, billing layer, provider-selection layer, and data-processing boundary.

For this dotfiles setup, Monid is therefore an optional general-purpose tool marketplace, not the natural replacement for .local/bin/web.py.

Fit with this repository

Relevant existing pieces:

There is no current TinyFish, Monid, or external MCP configuration. Pi does not natively consume a hosted MCP server in this setup; an MCP integration would require an extension/package and authentication handling.

Risks and operating rules

Decision

Integrate TinyFish Search/Fetch as an opt-in or fallback backend for .local/bin/web.py; do not integrate Monid’s entire marketplace or TinyFish MCP yet. This provides the useful capability—live rendering and clean extraction—while preserving the current local search path, container isolation, and a small operational footprint.

Sources

Supplied page and Monid

TinyFish