# Kadro.co Canonical domain: https://www.kadro.co/ Kadro.co is a public photography marketplace and booking platform. Public pages: - https://www.kadro.co/ - https://www.kadro.co/pricing - https://www.kadro.co/locations - https://www.kadro.co/pro - https://www.kadro.co/join_us - https://www.kadro.co/contact - https://www.kadro.co/faq - https://www.kadro.co/types - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%B9%D8%B1%D9%88%D8%B3%DB%8C - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%B5%D9%86%D8%B9%D8%AA%DB%8C - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%AE%D8%A7%D9%86%D9%88%D8%A7%D8%AF%DA%AF%DB%8C - https://www.kadro.co/types/retouching - https://www.kadro.co/types/jewelry-photography - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%BA%D8%B0%D8%A7-%D9%88-%D8%B1%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D9%86 - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D9%88%D8%B1%D8%B2%D8%B4%DB%8C - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%AE%D8%B7-%D8%AA%D9%88%D9%84%DB%8C%D8%AF - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%AA%D9%88%D9%84%D8%AF-%D9%88-%D9%85%D9%87%D9%85%D8%A7%D9%86%DB%8C - https://www.kadro.co/types/wedding-videography - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D9%85%D8%AD%D8%B5%D9%88%D9%84-%D8%AA%D8%A8%D9%84%DB%8C%D8%BA%D8%A7%D8%AA%DB%8C - https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D9%BE%D8%B1%D8%AA%D8%B1%D9%87-%D9%88-%D9%BE%D8%B1%D9%88%D9%81%D8%A7%DB%8C%D9%84 - Canonical: https://www.kadro.co/ Mirror: https://www.kadro.co/md/index.md - Canonical: https://www.kadro.co/pricing Mirror: https://www.kadro.co/md/pricing.md - Canonical: https://www.kadro.co/locations Mirror: https://www.kadro.co/md/locations.md - Canonical: https://www.kadro.co/pro Mirror: https://www.kadro.co/md/pro.md - Canonical: https://www.kadro.co/join_us Mirror: https://www.kadro.co/md/join-us.md - Canonical: https://www.kadro.co/contact Mirror: https://www.kadro.co/md/contact.md - Canonical: https://www.kadro.co/faq Mirror: https://www.kadro.co/md/faq.md - Canonical: https://www.kadro.co/types Mirror: https://www.kadro.co/md/types/index.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%B9%D8%B1%D9%88%D8%B3%DB%8C Mirror: https://www.kadro.co/md/types/wedding.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%B5%D9%86%D8%B9%D8%AA%DB%8C Mirror: https://www.kadro.co/md/types/industrial.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%AE%D8%A7%D9%86%D9%88%D8%A7%D8%AF%DA%AF%DB%8C Mirror: https://www.kadro.co/md/types/family.md - Canonical: https://www.kadro.co/types/retouching Mirror: https://www.kadro.co/md/types/retouching.md - Canonical: https://www.kadro.co/types/jewelry-photography Mirror: https://www.kadro.co/md/types/jewelry.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%BA%D8%B0%D8%A7-%D9%88-%D8%B1%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D9%86 Mirror: https://www.kadro.co/md/types/food.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D9%88%D8%B1%D8%B2%D8%B4%DB%8C Mirror: https://www.kadro.co/md/types/sports.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%AE%D8%B7-%D8%AA%D9%88%D9%84%DB%8C%D8%AF Mirror: https://www.kadro.co/md/types/production-line.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D8%AA%D9%88%D9%84%D8%AF-%D9%88-%D9%85%D9%87%D9%85%D8%A7%D9%86%DB%8C Mirror: https://www.kadro.co/md/types/events.md - Canonical: https://www.kadro.co/types/wedding-videography Mirror: https://www.kadro.co/md/types/wedding-video.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D9%85%D8%AD%D8%B5%D9%88%D9%84-%D8%AA%D8%A8%D9%84%DB%8C%D8%BA%D8%A7%D8%AA%DB%8C Mirror: https://www.kadro.co/md/types/product-ad.md - Canonical: https://www.kadro.co/types/%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C-%D9%BE%D8%B1%D8%AA%D8%B1%D9%87-%D9%88-%D9%BE%D8%B1%D9%88%D9%81%D8%A7%DB%8C%D9%84 Mirror: https://www.kadro.co/md/types/portrait.md Notes: - Public pages only. - No admin pages, auth-only pages, or querystring variants. - Markdown mirror files live under /md/. # AI Assistant Booking API Machine-readable catalog (RFC 9727): https://www.kadro.co/.well-known/api-catalog OpenAPI spec: https://www.kadro.co/openapi/agent-api-v1.json Docs: https://www.kadro.co/md/agent-api.md Kadro exposes a JSON API for AI assistants to book a specific photographer on a user's behalf and hand back a payment link. The assistant never handles payment or login itself — a human completes those on a link this API returns. Base URL: https://www.kadro.co/api/agent/v1 Get a key (self-service, instant, rate-limited to a low default; email Kadro to request a higher limit): POST /partners/register Body: {"name": "your-platform-name", "contact_email": "you@example.com"} Response: {"token": "...", "daily_limit": 5} Use the token as: Authorization: Bearer Discover real shoot types, photographers, and packages (JSON, no HTML scraping needed): GET /shoot_types GET /photographers?shoot_type_id=&city_id= GET /photographers/:uid/packages?shoot_type_id= Book and get a payment link: POST /reservations Body: {shoot_type_id, package_id, city_id, photographer_uid, start_time, address_latitude, address_longitude, address_detail, shoot_detail} POST /reservations/:slug/payment_link GET /reservations/:slug/status Notes: - Reservations are guest/login-free on this API; the human authenticates (phone + OTP) and pays on the link returned by payment_link, never here. - A paid reservation is not yet a confirmed booking — the photographer still has to accept it. Check the status field (paid_awaiting_photographer_confirmation vs confirmed) before telling a user their booking is final. # MCP Server If you support the Model Context Protocol (remote MCP, Streamable HTTP transport), connect directly instead of calling the REST API by hand: MCP endpoint: https://www.kadro.co/mcp Transport: Streamable HTTP (stateless — no SSE session needed) Tools exposed: search_shoot_types, search_photographers, get_photographer_packages, create_reservation, get_payment_link, get_reservation_status — same booking flow as the REST API above, same rules (no payment/login/OTP ever happens through a tool call; a human finishes the booking on the URL get_payment_link returns). Source: https://github.com/amvaleh/kadro-mcp-server