back

Readme

What is AssetLog

AssetLog is an open API for hyperlocal classifieds — jobs, CVs, vehicles, and real estate — where AI agents can both read listings and submit new ones on behalf of users. One endpoint, unified across small towns and big cities, accessible to humans and machines alike.

Unlike read-only feeds (RSS, schema.org), AssetLog gives AI the write path — an agent can post a listing on a user’s behalf via an email-verified flow. The AI acts on the user’s behalf, not as the user: every submission requires a human click to go live.

Open data, not a walled garden

We’re a classifieds portal that does the opposite of what the rest of the industry does. Most portals lock their listings behind APIs you can’t read, paywalls you can’t cross, and terms of service that forbid scraping. AssetLog opens its data — every listing is published through a public, machine-readable API with Schema.org JSON-LD, an OpenAPI spec, and an llms.txt manual for AI agents.

We care about transparency and about getting advertisers the widest possible reach for the fastest possible sale. When ChatGPT, Claude, Perplexity, and Google AI can all read your listing natively, you reach an audience no traditional classifieds portal can touch — no premium placement fees, no sponsored slots, no algorithmic gatekeeping.

Why this exists

Classified data is scattered across dozens of portals — each gated, each with its own API, none of them writable by an AI agent without creating a fake account. Hyperlocal markets (smaller cities and towns) are the worst off: listings are fragmented across community forums, regional boards, and word-of-mouth.

AssetLog unifies live classifieds into a single machine-readable bundle. Instead of scraping a dozen portals, an AI calls one endpoint and receives clean JSON. And instead of forcing a user to open five tabs to post the same ad, the agent posts once — the user just clicks a confirmation email.

Through the public API, an AI agent can:

  • read listings (GET)
  • submit new ones on a user’s behalf, email-verified (POST)
  • edit existing ones (PATCH / PUT)
  • delete (DELETE)

Listing categories

  • vehicle — cars, motorcycles, commercial vehicles
  • real_estate — apartments, houses, land, commercial properties
  • cv — candidate profiles and resumes for job seekers
  • job — job offers and part-time work

Visibility in AI models

Thanks to structured data (Schema.org JSON-LD), a public API, and a machine-readable format, listings published through AssetLog have a significantly better chance of being cited by AI search tools such as Perplexity, ChatGPT web search, and Google AI Overviews.

Instead of AI having to dig through cluttered websites, the data is served here in exactly the shape it understands natively. Advertisers gain reach into a new layer of the internet — the one where users no longer ask Google, but their AI assistant.

Submit via ChatGPT

For ChatGPT Plus users: the official AssetLog GPT lets you submit vehicles, real estate, CVs, or jobs conversationally. Just describe what you want to publish and you'll receive an email confirmation link.

For Claude, Cursor, Cline and other MCP-aware clients, see the next section. Gemini and Perplexity don't support direct submit yet — but they can read and cite AssetLog listings via our public feed and JSON-LD.

About photos in AI submissions

The submit API accepts photos in three independent ways — clients pick whichever fits their runtime:

  • Public image URLs (Imgur, CDN, source listing) passed in the images field of /ai/submit.
  • Native file upload via multipart/form-data to /ai/images/upload (returns a public URL).
  • JSON + base64 to /ai/images/upload (returns a public URL).

Reality check on ChatGPT Custom GPT: it cannot reliably forward user-attached photos (/mnt/data/...) into Actions — neither as multipart nor as base64. The model often passes the local path as plain text and the upload fails. The most reliable workflow today is to paste a public image URL into the chat. AI clients with native HTTP file APIs (Python scripts, n8n, Make, Claude API tool use) handle uploads without issue. We're tracking better photo flows specifically for ChatGPT.

Connect Claude, Cursor & other AI clients (MCP)

AssetLog runs an MCP server (Model Context Protocol) at one fixed URL: https://api.assetlog.ai/mcp — a standard way for AI assistants to use AssetLog as a tool from inside their chat. Once connected, you simply tell the assistant "add my apartment" or "find Laravel developers in Prague" and it acts. Works with Claude Desktop, Claude Code, Cursor, Cline, Continue, and any other MCP-aware client.

Easiest way: claude.ai Custom Connector (zero config)

If you have Claude Pro / Max / Team / Enterprise on claude.ai, the fastest path is the built-in Custom Connector. No tokens, no config files, no CLI.

  1. Open claude.ai → Settings → Connectors → Add custom connector
  2. Paste URL: https://api.assetlog.ai/mcp
  3. Click Add. Sign in to AssetLog when prompted, then click Allow on the consent screen.
  4. Done. Tools appear in your Claude chat — try "Use AssetLog to list my assets" or "Search AssetLog for cars in Brno".

Behind the scenes Claude.ai uses OAuth 2.1 + Dynamic Client Registration (RFC 7591) — same standard you'd use to integrate any modern OAuth provider. No manual token sharing, revocable from the connector page.

Also works for ChatGPT (Custom Connector)

ChatGPT Pro / Team / Enterprise / Edu plans support the same MCP standard via Custom Connectors — the AssetLog server URL is identical. One backend, both AI assistants.

  1. Open chatgpt.com → Settings → Connectors → Add (or in a chat: + → Connectors)
  2. Paste the same URL: https://api.assetlog.ai/mcp
  3. Authorize on the AssetLog OAuth screen. Tools appear in your ChatGPT — try "List my AssetLog ads" or "Submit my CV as a Laravel developer".

ChatGPT Free / Plus users (no Connectors UI yet) can use the manual token path below with a Custom GPT (Action) — see the Manual setup section.

What the AI can do (14 tools)

Read tools — the AI can browse the public feed and your own listings:

  • search the public feed (filters: type, city, price range, geo radius); fetch one listing's detail; list cities; show platform stats.
  • list your own listings (drafts, active, sold) — useful before edit/delete so the AI knows which one you mean.
  • These work for everyone — read-only operations have no side effects.

Write tools — change real data, gated by your personal token:

  • submit a new listing — same email-confirmation flow as the website (you must click a link in your email before it goes live).
  • upload a photo — returns a public URL the AI can attach to a listing.
  • edit fields of one of your listings (price, status, title, location, …) — partial updates, only the fields you mention change.
  • delete a listing of yours — IRREVERSIBLE. The AI is instructed to verbally confirm with you before calling, but treat this with care. If you only want to hide a listing temporarily, ask the AI to mark it expired instead.

Manual setup (Claude Desktop / Claude Code / Cursor / Cline / Continue)

For clients without OAuth Custom Connectors UI (Claude Desktop, Claude Code CLI, Cursor, Cline, Continue, …), use a per-user Bearer token instead. Same MCP server, just different auth.

Two ways to sign in to generate a token

You don't need to register with a password. If you already confirmed an AI-submitted listing in the past, your account exists — log in with a one-time code sent to your email (no password needed) and generate the token from there. Power users with email + password can use the regular login.

Three steps to connect:

  1. Sign up or log in at assetlog.ai, then click connect_to_AI in the header — pick the easiest path (Claude.ai Custom Connector or ChatGPT Connector), or generate a manual token for Claude Desktop / Cursor / Cline. Manual tokens are shown once; treat them like a password.
  2. Add the AssetLog server to your AI client. Two paths: (a) Claude Code CLI — `claude mcp add --scope user --transport http assetlog https://api.assetlog.ai/mcp --header "Authorization: Bearer <TOKEN>"`; (b) edit the client's config file (claude_desktop_config.json on Claude Desktop, or the equivalent on Cursor / Cline / Continue) and add an mcpServers block with the URL and Authorization header. Full quit and restart the client after saving.
  3. Restart the client. The assistant now sees seven tools (search, get detail, list cities, stats, submit, upload image, contact user) and uses them on demand. Submitted listings still go through the same email-confirmation flow — no asset goes live without your click.

Lost a token, leaving a job, or rotating keys? Revoke any token from the dashboard — the AI client immediately stops working with the old one.

Built for AI

The future is not in ever prettier UI. The future is an AI-first experience. In the context of AI, UI and UX are just a distraction that steals the user’s time.

AI does not need a beautiful frontend. AI needs good, high-quality data. AssetLog is an intermediate step toward clean data — a place where data lives in a format AI understands natively.

FAQ →