General
What is TinyFish Web Agent?
What is TinyFish Web Agent?
TinyFish Web Agent is an AI-powered web automation API that lets you automate any website using natural language.
Instead of writing brittle selectors, you describe what you want to do, and our AI handles the rest.
What sites can I automate?
What sites can I automate?
Any publicly accessible website. For authenticated sites, use Vault Credentials or a
saved Browser Context Profile instead of putting passwords in your goal.
For sites with bot protection, use stealth mode and a proxy.
How fast are automations?
How fast are automations?
Typically 3-10 seconds for simple pages, 30-60 seconds for complex multi-step automations. Time depends on page load
speed and task complexity.
Can I see the browser?
Can I see the browser?
Yes. Runs provide a
streaming_url where you can watch the browser execute live. With the SSE API, listen for the
STREAMING_URL event; for queued runs, retrieve the run with client.runs.get(run_id) or GET /v1/runs/:id.API Usage
What authentication method do I use?
What authentication method do I use?
The REST API uses the The Python SDK, TypeScript SDK, and CLI also use your API key. The MCP endpoint uses OAuth 2.1 for AI assistant
integrations. CLI run IDs and MCP run IDs are scoped to different tokens, so a CLI lookup for an MCP-created run can
return 404 by design.
X-API-Key header:Do you support proxies?
Do you support proxies?
Yes, configure proxy routing:Supported countries: US, GB, CA, DE, FR, JP, AU.
How do I process many URLs?
How do I process many URLs?
For a few immediate results, use concurrent sync requests with
asyncio.gather(), Promise.all(), or shell
background jobs. For larger or long-running sets, use agent.queue() in SDKs, POST /v1/automation/run-batch in
REST, or tinyfish agent batch run in the CLI.See Concurrent Requests and Async Bulk Requests.Technical
What browsers do you use?
What browsers do you use?
We use Chromium-based browsers. Choose between:
- Lite: Standard Chromium (fast)
- Stealth: Modified Chromium with anti-detection (slower but bypasses bot protection)
What about JavaScript-heavy sites?
What about JavaScript-heavy sites?
We fully support SPAs (React, Vue, Angular). Pages are rendered and JavaScript is executed before extraction.
Can I automate authenticated content?
Can I automate authenticated content?
Yes! For password-manager login, connect your password manager (1Password or Bitwarden) in Settings → Vault.
Select credentials per run and TinyFish handles login securely — the AI agent never sees your actual passwords.
For sites where saved session state matters, create a Browser Context Profile after signing in once, then use that
profile on future runs.See the Connect Your Vault guide for setup, Vault Credentials for how
credential access works, and Browser Context Profiles for reusing cookies,
MFA state, and trusted-device sessions.API example:If you haven’t connected a vault or saved profile, you can still include login steps in your goal:
Do you support pagination?
Do you support pagination?
Yes, describe pagination in your goal:
Troubleshooting
What does COMPLETED status mean?
What does COMPLETED status mean?
status: "COMPLETED" means the infrastructure succeeded - the browser launched, navigated, and the automation finished without crashing.It does NOT mean the goal was achieved. You must check the result field to determine if the goal succeeded.Scenario 1: Goal achievedresult contains the extracted data - goal succeeded.Scenario 2: Infrastructure succeeded, goal failedresult.status is “failure” indicating the goal wasn’t achieved.Scenario 3: Infrastructure failedresult content, not just status:Why is my automation failing?
Why is my automation failing?
Common causes:
- Timeout - Site is slow or down
- Solution: Retry or use stealth mode
- Access Denied - Anti-bot protection
- Solution: Use stealth mode + proxy
- Element Not Found - Goal is too specific
- Solution: Make goal more flexible (describe visually)
- Invalid URL - URL is malformed
- Solution: Ensure URL includes
https://
- Solution: Ensure URL includes
Site is blocking me. What do I do?
Site is blocking me. What do I do?
Best Practices
What makes a good goal?
What makes a good goal?
Good (specific, actionable):Bad (vague):
When should I use stealth mode?
When should I use stealth mode?
Use stealth when:
- Site shows CAPTCHA
- Getting “Access Denied” errors
- Site uses Cloudflare or anti-bot protection
Getting Help
Email Support
Discord Community
Join our community
Related
Quick Start
Get started in 5 minutes
API Reference
Complete endpoint docs