canonical: https://jentic.com/apis/mino.ai/mino

# Mino TinyFish Web Agent Automation API

The TinyFish Web Agent Automation API runs AI-driven browser automations on any website from a target URL and a natural language goal, returning results synchronously, as a server-sent event stream, or as an asynchronous run you poll later. It also fetches and extracts up to 10 URLs per request as markdown, HTML, or JSON, searches the web, news, or research papers, and runs multi-step research jobs that stream a written report. Supporting resources cover remote browser sessions, Browser Context Profiles that keep signed-in state, 1Password and Bitwarden vault connections for site credentials, and per-step screenshots and HTML snapshots for every run.

## For AI agents

Run natural-language browser automations on any website, fetch and extract page content, search the web, and run streamed research jobs with TinyFish. Authenticated with an X-API-Key header.

## Scope

Does not handle test-suite management, site monitoring schedules, or hosting of scraped datasets. Use for running goal-driven browser automations, page fetching, web search, and research reports only.

## Capabilities

- Run a browser automation against a URL with a natural language goal, in lite or stealth browser_profile mode
- Start batches of asynchronous automation runs and cancel them by run id
- Fetch up to 10 URLs in parallel and extract their content as markdown, HTML, or JSON
- Search the web, news, or research papers with domain, language, and date filters
- Run a research query in instant, standard, deep, or max mode and stream the report
- Review a run's step screenshots and HTML snapshots to see what the agent did
- Save signed-in browser state in a Browser Context Profile for reuse across runs

## Use cases

### Agent Web Tasks Through Jentic

An AI agent that needs data from a website with no API hands TinyFish a target URL and a goal such as 'find the cheapest monthly plan', and TinyFish drives a hosted browser to complete it. Through Jentic the agent finds the run operation by intent, sends the url and goal fields with a stored API key, and gets the run result back without managing a browser fleet.

Example prompt: Run a synchronous automation with url 'https://example.com/pricing' and goal 'Return the name and monthly price of every plan as JSON', using the lite browser_profile

### Bulk Page Extraction for LLM Pipelines

Retrieval and summarisation pipelines send up to 10 URLs per fetch request and receive each page as markdown, cleaned HTML, or JSON, with optional outbound links, image links, and page metadata. CSS include_selectors and exclude_selectors trim navigation and footers before extraction, and a per-URL timeout keeps one slow page from blocking the rest.

Example prompt: Fetch three documentation URLs in markdown format with exclude_selectors set to 'nav' and 'footer', and return each page's text

### Streamed Research Reports

Analysts submit a research question and choose a depth from instant to max, optionally restricting sources to news or research papers and to a date range. The report streams as it is written, and a follow-up run can be seeded with prior_run_id so the next question builds on the earlier evidence.

Example prompt: Start an asynchronous research run with query 'State of WebGPU browser support', mode 'standard', and domain_type 'news', then poll it by research_run_id until it completes

### Run Auditing and Debugging

Teams reviewing an automation list runs filtered by status such as FAILED and by created_after timestamp, open a run with screenshots and HTML included, and pull the screenshot or HTML snapshot for an individual step to see where the browser agent went wrong.

Example prompt: List runs with status FAILED created after 2026-11-01T00:00:00Z, then fetch the step screenshot for the first step of the most recent one

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/automation/run` | Run a browser automation synchronously |
| POST | `/v1/automation/run-async` | Start an automation asynchronously |
| GET | `/v1/runs/{id}` | Get a run by id |
| GET | `/v1/runs` | List and search runs |
| POST | `/fetch` | Fetch and extract content from URLs |
| GET | `/search` | Search the web |
| POST | `/v1/automation/run-research` | Run research with SSE streaming |
| POST | `/browser` | Create a remote browser session |

## Key resources

- **Automation Runs** — Browser automations started from a url and goal, run synchronously, streamed, asynchronously, or in batches
- **Fetch** — Parallel URL fetching with markdown, HTML, or JSON extraction
- **Search** — Web, news, and research-paper search with domain and date filters
- **Research Runs** — Multi-step research jobs that stream a written report
- **Browser Sessions** — Remote browser sessions you create and terminate
- **Browser Context Profiles** — Saved cookies and signed-in site state reused across runs
- **Vault Connections** — 1Password or Bitwarden connections that supply site credentials to runs

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 70 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 89 / 100
  - Developer Experience & Jentic Compatibility: 79 / 100
  - AI-Readiness & Agent Experience: 55 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 77 / 100
- **View full report:** https://jentic.com/apis/mino.ai/mino/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring TinyFish by hand means setting the X-API-Key header, choosing between synchronous, SSE, and async run modes, and writing the polling loop for long runs. Through Jentic you install once, import TinyFish from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** TinyFish targets most work through the request body (the url and goal travel in the payload), so rules bound which operations your agent may call, not which websites it visits. You choose the operations it may call, so sensitive ones like connecting a vault, deleting a profile, or topping up the wallet are not included unless you add them.
- **Credential handling:** Your TinyFish API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'automate a task on a website' or 'fetch a page as markdown', and Jentic returns the matching TinyFish operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Browser Use** — Hosted AI browser agents driven by natural language tasks
- **Browserbase** — Headless browser infrastructure you drive with your own automation code
- **Firecrawl** — Crawl and scrape websites into LLM-ready markdown
- **Tavily** — Search API tuned for AI agents and retrieval

## FAQ

### What authentication does the TinyFish Web Agent Automation API use?

The TinyFish Web Agent Automation API authenticates with an API key sent in the `X-API-Key` header per its OpenAPI spec, and every operation in the spec declares it. Through Jentic the key is stored once, encrypted, by your own Jentic One instance and injected at call time, so it never enters the agent's prompt or logs.

### Can I get structured JSON back from a TinyFish automation run?

Yes. The run operations accept an optional output_schema field that describes the structured result you want, alongside the required url and goal fields. Runs can also post lifecycle events to an HTTPS webhook_url, and the batch operation starts several runs in one request.

### Can I limit what my agent is allowed to do with the TinyFish API?

Yes. For example, write a rule that allows only the fetch, search, and run-by-id read operations, so the agent can pull page content, search the web, and check results while vault connections, profile deletion, and wallet top-ups stay out of reach, and every call it makes is logged.

### What are the rate limits for the TinyFish Web Agent Automation API?

The OpenAPI spec does not specify rate limits. Check the TinyFish documentation at https://docs.tinyfish.ai for current limits, and use the fetch, search, and browser usage endpoints to track how much your agent has consumed.

### How do I run a TinyFish browser automation through Jentic?

Search Jentic for the intent 'automate a task on a website', which returns the TinyFish run operation and its input schema; the agent posts the url and goal to `/v1/automation/run`, or to `/v1/automation/run-async` and polls `/v1/runs/{id}` for longer jobs. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a TinyFish MCP server?

You don't need an MCP server to give your agent the TinyFish API. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the automation, fetch, search, and research operations. Operations are discovered on demand, so no extra tool definitions are loaded into the agent's context.
