|
$2M investment seed pool💰 • 9-week program • Free credits • Engineering support • Business mentorship |
Website | Docs | Discord | License | X | LinkedIn | Threads | Instagram
Welcome to the TinyFish Cookbook! This is a growing collection of recipes, demos, and automations built with TinyFish.
🏆 Were SOTA! — we just scored 90% on Mind2Web benchmark, outperforming Gemini by 21 points, OpenAI by 29, and Anthropic by 34. We ran all 300 tasks in parallel and published every single run publicly. Read our benchmark results → | View all runs →
SOTA web agents in an API that lets you treat real websites like programmable surfaces. Instead of juggling headless browsers, selectors, proxies, and weird edge cases, you call a single API with a goal and some URLs and get back clean JSON. It handles navigation, forms, filters, dynamic content, proxies, and multi-step flows across many sites at once.
The same infrastructure and agents used by big enterpises (like google, doordash and classpass), now for everyone!
- 🕸️ Fully managed browser and agent infra in one API
- 🌐 Any website → API — Turn sites without APIs into programmable data sources
- 💬 Natural language goals — Send a URL + plain English, get structured JSON back
- 🤖 Real browser automation — Multi-step flows, forms, filters, calendars, dynamic content
- 🥷 Built-in stealth mode — Rotating proxies + stealth profiles included (no extra cost)
- 📊 Production-grade logs — Full observability and debugging for every run
- 🔌 Flexible integration — HTTP API, visual Playground, or MCP server for Claude/Cursor
Each folder in this repo is a standalone project. Dive in to see how to solve real-world problems.
| Recipe | Description |
|---|---|
| anime-watch-hub | Helps you find sites to read/watch your favorite manga/anime for free |
| bestbet | Sports betting odds comparison tool |
| competitor-analysis | Live competitive pricing intelligence dashboard |
| fast-qa | No-code QA testing platform with parallel test execution and live browser previews |
| loan-decision-copilot | AI-powered loan comparison tool across banks and regions |
| logistics-sentry | Logistics intelligence platform for port congestion and carrier risk tracking |
| Manga-Availability-Finder | Searches multiple reading platforms for manga/webtoon availability |
| openbox-deals | Real-time open-box and refurbished deal aggregator across 8 retailers |
| research-sentry | Voice-first academic research co-pilot scanning ArXiv, PubMed, and more |
| scholarship-finder | AI-powered scholarship discovery system pulling live data from official websites |
| stay-scout-hub | Searches across all sites for places to stay when traveling for conventions or events |
| summer-school-finder | Discover and compare summer school programs from universities around the world |
| tinyskills | Multi-source AI skill guide generator |
More recipes added weekly!
You don't need to install heavy SDKs. TinyFish works with standard HTTP requests.
Sign up on tinyfish.ai and grab your API key.
Here is how to run a simple automation agent:
curl -N -X POST https://agent.tinyfish.ai/v1/automation/run-sse \
-H "X-API-Key: $TINYFISH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://agentql.com",
"goal": "Find all AgentQL subscription plans and their prices. Return result in json format"
}'import json
import os
import requests
response = requests.post(
"https://agent.tinyfish.ai/v1/automation/run-sse",
headers={
"X-API-Key": os.getenv("TINYFISH_API_KEY"),
"Content-Type": "application/json",
},
json={
"url": "https://agentql.com",
"goal": "Find all AgentQL subscription plans and their prices. Return result in json format",
},
stream=True,
)
for line in response.iter_lines():
if line:
line_str = line.decode("utf-8")
if line_str.startswith("data: "):
event = json.loads(line_str[6:])
print(event)const response = await fetch("https://agent.tinyfish.ai/v1/automation/run-sse", {
method: "POST",
headers: {
"X-API-Key": process.env.TINYFISH_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
url: "https://agentql.com",
goal: "Find all AgentQL subscription plans and their prices. Return result in json format",
}),
});
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
console.log(decoder.decode(value));
}By the way! if you want to expose your project on localhost to your friends to show them a demo, you can now use the tinyfi.sh by us! Completly free and easy to use!
Got something cool you built with TinyFish? We want it in here! Check out our Contributing Guide for the full rundown on how to submit your project.
- Join us on Discord — ask questions, share what you're building, hang out
- Learn more at tinyfish.ai
This repository is a community-driven space for sharing derivatives, code samples, and best practices related to Tiny Fish products. By using the materials in this repository, you acknowledge and agree to the following:
- "As-Is" Basis: All code, scripts, and documentation shared here are provided "AS IS" and "AS AVAILABLE." TinyFish makes no warranties of any kind, whether express or implied, regarding the accuracy, reliability, or security of community-contributed content.
- No Obligation to Maintain: Tiny Fish is under no obligation to monitor, update, or fix bugs, errors, or security vulnerabilities found in community-contributed derivatives.
- User Responsibility: You are solely responsible for vetting and testing any code before implementing it in a production environment. Use of these derivatives is at your own risk.
- Limitation of Liability: In no event shall Tiny Fish be held liable for any claim, damages, or other liability—including but not limited to system failures, data loss, or security breaches—arising from the use of or inability to use the contents of this repository.
Note: Contributions from the community do not represent the official views or supported products of Tiny Fish.