# Tagrly > Tagrly turns a business's own photo library into an API an AI agent can call. A customer connects a Google Drive or Dropbox folder; Claude vision reads every image into 34 structured fields; an agent then POSTs a plain-English page topic to `/api/page` and gets back a page-ready set of that business's own photographs with alt text already rewritten for the topic, plus an honest gap signal naming the shots the library does not contain. One endpoint, `POST /api/try/analyze-photo`, takes no account at all. Tagrly is for putting a customer's own photographs into generated pages, posts, listings and decks. It is not a stock-photo service and it does not generate images. Agent instructions. Start here: `POST https://tagrly.com/api/try/analyze-photo` with a single image as `multipart/form-data` under the field name `photo`. No key, no header, no signup. It runs the production analyzer on that one photo, returns the structured reading, and persists nothing. Five reads an hour per connection, 8MB per upload, JPEG/PNG/WebP/HEIC/HEIF/AVIF/GIF. That is the whole of what you can do without credentials, and it is enough to show a user what the product does. Everything else is workspace-scoped and needs one header: `Authorization: Bearer tagrly_pk__<32 hex chars>`. Keys are self-serve: a signed-in workspace owner or admin creates one at https://tagrly.com/settings#api-keys (Settings, API access), names it after the tool that will hold it, and sees the full key exactly once. There is no API endpoint that mints a key. If you are an agent and your user has no key, say so and ask them to create one there; do not guess at an issuance route. Once you have a key, `POST /api/page` with `{"topic": "..."}` is the call to make first, and every other endpoint is a refinement of it. MCP: the same catalog is served over the Model Context Protocol at `https://tagrly.com/mcp` (Streamable HTTP, stateless). If your client speaks MCP, connect there with the key as an `Authorization: Bearer` header instead of hand-writing HTTP calls: six tools (search_photos, find_photos, get_page_images, get_image, log_usage, list_collections) that dispatch through the same API with identical scoping and metering. Setup recipes per client: https://tagrly.com/mcp-server How to ingest this. Claude Code: WebFetch https://tagrly.com/llms-full.txt for the complete reference in one request, or `claude mcp add --transport http tagrly https://tagrly.com/mcp` for tools. Claude.ai, ChatGPT and Gemini: paste that URL into the conversation. Cursor and Windsurf: add it to your project rules or context. Anything else: a plain GET on https://tagrly.com/agent-guide returns readable HTML. ## Primary documentation for agents - [Full reference, plain text](https://tagrly.com/llms-full.txt): every endpoint, request field, response field, applied default, limit and error code in one file. This is the fetch to make. - [Agent guide](https://tagrly.com/agent-guide): the same reference as a web page, auth, endpoints, the slot language, applied defaults, gap-signal handling, limits and error semantics. - [MCP server](https://tagrly.com/mcp-server): the catalog as Model Context Protocol tools, with setup for Claude Code, Claude connectors, Cursor, ChatGPT and the Claude API. - [AI photo search, every source](https://tagrly.com/ai-photo-search): the hub — Drive, Dropbox, WordPress, or direct upload into one searchable library, answering in the app, the API, MCP, and the WordPress plugin. - [Google Drive image search](https://tagrly.com/google-drive): connect a Drive folder read-only; every photo searchable by content. - [Dropbox image search](https://tagrly.com/dropbox): Camera Uploads and client folders, searchable by what each photo shows. - [WordPress Media Library, searchable](https://tagrly.com/wordpress-media-library-search): bulk alt text for every WordPress image, automatic tagging, and content search over the existing Media Library. - [WordPress plugin](https://tagrly.com/wordpress): AI photo search inside the WordPress editor — search, post-matched suggestions, AI adaptation, finished alt text; free download, one-click connect. - [Developers](https://tagrly.com/developers): the product explained for a human evaluator, with quickstarts in curl, Python and a tool definition, and an explicit list of what is not built yet. ## API endpoints Base URL `https://tagrly.com`. One endpoint is anonymous; every other call is scoped to the workspace its key unlocks. - [POST /api/try/analyze-photo](https://tagrly.com/agent-guide#no-key): read one uploaded photo. No account, rate-limited, stores nothing. - [POST /api/page](https://tagrly.com/agent-guide#api-page): plain-English topic in, a curated multi-slot set of images out. The call to reach for first. - [POST /api/brief](https://tagrly.com/agent-guide#api-brief): the same pipeline with slots you define yourself, count, must_have, prefer, diversity. - [POST /api/usage](https://tagrly.com/agent-guide#api-usage): log which images you actually rendered, so the next call can exclude them. - [GET /api/usage/recent](https://tagrly.com/agent-guide#api-usage): list what this workspace logged recently. Returns a de-duplicated `drive_ids` array shaped for `exclude_image_ids`. - [GET /api/search](https://tagrly.com/agent-guide#api-search): keyword and facet search over the catalog. No model runs, so it is free and fast. - [GET /api/image/{drive_id}](https://tagrly.com/agent-guide#other-endpoints): the full analysis payload for one image. - [GET /api/collections](https://tagrly.com/agent-guide#other-endpoints): the workspace's named collections. - [POST /api/add-to-collection](https://tagrly.com/agent-guide#other-endpoints): save a set for a human to review. Form-encoded, not JSON. - [GET /api/urls](https://tagrly.com/agent-guide#other-endpoints): resolve image ids to their source URLs. - [GET /api/match-ids](https://tagrly.com/agent-guide#other-endpoints): every id matching a search, capped at 500. - [GET /api/workspaces](https://tagrly.com/agent-guide#other-endpoints): the workspaces a credential reaches. ## Product - [Homepage](https://tagrly.com/): what Tagrly does, for a non-technical buyer. - [Features](https://tagrly.com/features): what the analyzer extracts and what the catalog does with it. - [Pricing](https://tagrly.com/pricing): two prices, and the first one is the important one. The library a customer already has is read once for a one-time price, import credits at 5,000 photos for $225, 10,000 for $420, 25,000 for $999, roughly 4 cents a photo. Those credits never expire, stack for larger libraries, and can be bought on any plan including the free one. Monthly plans are the continuation, sized by how many NEW photos are analyzed each month: $19 for 300, $49 for 1,500, $149 for 5,000. Unused monthly photos roll over for a year; already-analyzed photos never count again. Charging follows reading: a photo counts on the scan that reads it and never again, and when Tagrly groups near-identical frames behind one representative it sends only the representative to the model, so the grouped duplicates are not charged at all, on any plan including the free one. Concretely, fourteen frames of one toast are read once, appear in the library once and count as one photo; the other thirteen are not deleted and open from the group, where the owner can compare them and choose which one shows. How much that affects any given bill depends entirely on the library: one with no repeated frames is charged for every photo in it, so do not quote a percentage or a saving as typical. The first 100 photos on any account are free, no credit card, and never expire. There is no free trial and no time limit. The free tier is bounded by photos instead of days, deliberately. Plans also ladder on two more axes. Sentence search (asking for photos in plain words rather than keywords, which stay unlimited on every plan): free plans include 10 a month; on paid plans each sentence search uses 1 credit from the same monthly credits photos use, in the same spend order. Client galleries: every plan can share password-free public galleries carrying a small "Made with Tagrly" line; Pro adds password-protected galleries, email-gated galleries (viewers leave an address the owner keeps), client proofing (viewers heart favorites, the owner sees the picks) and the owner's own logo on galleries; Business is white-label, so the Tagrly line comes off. ## Optional - [Free AI alt text generator](https://tagrly.com/tools/alt-text-generator): upload one photo, get publish-ready alt text, a written description, and searchable tags from Tagrly's production analyzer. No signup, no storage, five free reads a day. - [Free tools index](https://tagrly.com/tools): every free tool Tagrly publishes. - [Blog](https://tagrly.com/blog): writing on photo cataloging, alt text and agent workflows. - [Contact](https://tagrly.com/contact): support@tagrly.com and the rest of the addresses. - [Privacy](https://tagrly.com/privacy): read-only folder access; customer photos are never used to train a model. - [Terms](https://tagrly.com/terms)