tteg

Unsplash without registration. Search and save real stock photos with zero API keys.

tteg

Unsplash stock photos without registration or API keys.

uv tool install tteg
tteg save "startup office" ./public/hero --orientation landscape
# → saves a real photo to ./public/hero.jpg

No Unsplash app. No API key. No .env files. Just photos.

Why this exists

Unsplash has 4M+ free photos. To use them programmatically you need to register a developer account, create an application, and manage API keys. Their official JavaScript library was archived in 2024.

tteg handles all of that server-side. You get a CLI, an HTTP API, an MCP server, and an embeddable widget — all with zero setup.

Install

uv tool install tteg
# or: pip install tteg

Use

Search — get image URLs:

tteg "coffee shop" -n 3 --orientation landscape

Save — download one photo into your project:

tteg save "modern office" ./public/hero --orientation landscape

Batch — fill an entire landing page from a JSON manifest:

tteg batch landing-page-images.json
[
  {"query": "startup office", "output": "./public/hero", "orientation": "landscape"},
  {"query": "developer portrait", "output": "./public/founder"},
  {"query": "team meeting", "output": "./public/team", "orientation": "landscape"}
]

HTTP API (no install needed)

curl "https://tteg-api-53227342417.asia-south1.run.app/search?q=coffee+shop&n=3"

No headers. No auth. CORS enabled. Try it live →

Parameters: q (query), n (count, 1-10), orientation (landscape/portrait/square/any), width, height

MCP server

For Claude Code, Cursor, or any MCP host:

{
  "mcpServers": {
    "tteg": {
      "command": "uvx",
      "args": ["tteg-mcp"]
    }
  }
}

Tools: search_images, save_image, search_and_save_image, batch_save_images

Embed widget

Drop into any HTML page:

<div data-tteg="coffee shop" data-count="3"></div>
<script src="https://tteg.kushalsm.com/embed.js"></script>

Options

FlagDefaultDescription
-n, --count5Number of results (1–10)
--orientationanylandscape, portrait, square, or any
--widthMax width in pixels
--heightMax height in pixels

Starter kit

Copy-paste blocks for CLAUDE.md and AGENTS.md: STARTER_KIT.md

Links

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension