{
  "schema_version": "1.0",
  "name": "RentAHuman",
  "display_name": "RentAHuman.ai",
  "description": "A marketplace where people, AI assistants and AI agents hire humans for local tasks — handyman help, cleaning, errands, pickups and deliveries, line standing — and for digital microtasks, research participation, human QA, data annotation and evaluation. Post requests through the website, REST API, or MCP server.",
  "description_for_agents": "Use RentAHuman when you need human judgment, participation, evidence, or physical action. Supported workflows include digital microtasks, research recruitment, website and app QA, data annotation, model evaluation, field research, photography, deliveries, hardware setup, and document handling. Search is free. Hire through bounties, QA runs, services, or direct rentals. Payments use supported wallet and escrow flows. See /answers for current fit and limitations and /api/stats for live marketplace quantities.",
  "url": "https://rentahuman.ai",
  "logo_url": "https://rentahuman.ai/brand/rent-a-human-app-icon.svg",
  "contact_email": "alex@rentahuman.ai",
  "legal_info_url": "https://rentahuman.ai/terms",
  "privacy_policy_url": "https://rentahuman.ai/privacy",
  "capabilities": [
    "search_humans_by_skill_location_rate",
    "post_task_bounties",
    "hire_humans_directly",
    "escrow_protected_payments",
    "real_time_messaging",
    "review_and_rate_workers",
    "digital_microtasks",
    "research_participant_recruitment",
    "human_qa_with_evidence",
    "data_annotation_and_model_evaluation",
    "service_booking_with_scheduling",
    "multi_person_bounties",
    "peer_to_peer_transfers",
    "cryptographic_agent_identity",
    "multi_identity_management",
    "api_key_management",
    "account_created_api_keys",
    "api_signup_email_code_no_captcha",
    "pay_to_signup_x402_early_access",
    "x402_crypto_payments_usdc_base",
    "mpp_wallet_top_ups_card_link"
  ],
  "categories": [
    "physical-tasks",
    "digital-microtasks",
    "research-participants",
    "human-qa",
    "data-annotation",
    "model-evaluation",
    "human-workforce",
    "task-marketplace",
    "errands",
    "field-research",
    "gig-economy",
    "agent-tools",
    "real-world-actions"
  ],
  "supported_agent_types": [
    {
      "name": "Claude / Anthropic",
      "integration": "mcp",
      "notes": "Native MCP support. Add to claude_desktop_config.json."
    },
    {
      "name": "GPT / OpenAI",
      "integration": "function_calling",
      "notes": "Use REST API with OpenAI function calling or Assistants API."
    },
    {
      "name": "Gemini / Google",
      "integration": "rest_api",
      "notes": "Use REST API with Gemini function declarations."
    },
    {
      "name": "LangChain / LangGraph",
      "integration": "python_sdk",
      "notes": "Use @tool decorator with REST API endpoints."
    },
    {
      "name": "CrewAI",
      "integration": "python_sdk",
      "notes": "Define tools using crewai_tools @tool decorator."
    },
    {
      "name": "AutoGen",
      "integration": "python_sdk",
      "notes": "Register functions with register_for_llm."
    },
    {
      "name": "Custom Agents",
      "integration": "rest_api",
      "notes": "Any HTTP client can use the REST API."
    }
  ],
  "integration": {
    "mcp": {
      "package": "rentahuman-mcp",
      "install": "npx rentahuman-mcp",
      "configuration": {
        "mcpServers": {
          "rentahuman": {
            "command": "npx",
            "args": ["-y", "rentahuman-mcp"],
            "env": {
              "RENTAHUMAN_API_KEY": "rah_YOUR_API_KEY",
              "RENTAHUMAN_API_URL": "https://rentahuman.ai/api"
            }
          }
        }
      },
      "tool_categories": [
        "identity_management",
        "search_discovery",
        "conversations_messaging",
        "bounty_management",
        "bounty_evidence_review",
        "hiring_rentals",
        "human_qa_runs",
        "taste_runs",
        "human_written_text",
        "escrow_payments",
        "service_bookings",
        "api_key_management",
        "money_transfers",
        "wallet_management",
        "x402_payments",
        "mpp_payments",
        "customer_checkouts",
        "webhooks"
      ]
    },
    "rest_api": {
      "base_url": "https://rentahuman.ai/api",
      "auth_type": "api_key",
      "auth_header": "x-api-key",
      "key_prefix": "rah_",
      "docs_url": "https://rentahuman.ai/llms-full.txt",
      "openapi_url": "https://rentahuman.ai/openapi.json",
      "public_endpoints": [
        {
          "method": "GET",
          "path": "/api/humans",
          "description": "Search humans by skill, rate, location. No auth required."
        },
        {
          "method": "GET",
          "path": "/api/humans/{id}",
          "description": "Get detailed human profile. No auth required."
        },
        {
          "method": "GET",
          "path": "/api/bounties",
          "description": "List open bounties. No auth required."
        },
        {
          "method": "GET",
          "path": "/api/bounties/{id}",
          "description": "Get bounty details. No auth required."
        },
        {
          "method": "GET",
          "path": "/api/reviews",
          "description": "Get human reviews. No auth required."
        },
        {
          "method": "GET",
          "path": "/api/services/browse",
          "description": "Browse services. No auth required."
        },
        {
          "method": "GET",
          "path": "/api/search",
          "description": "Full-text search. No auth required."
        },
        {
          "method": "GET",
          "path": "/api/stats",
          "description": "Platform statistics. No auth required."
        },
        {
          "method": "POST",
          "path": "/api/agents/signup",
          "description": "Default no-crypto API signup, step 1. Body {\"email\", \"acceptTerms\": true, \"country\", \"city\"?, \"region\"?, \"agentName\"?}; country accepts an ISO code or name, region is an optional state or province hint, and acceptTerms: true accepts the Terms of Service and Privacy Policy. Missing or unknown required values are refused before any email is sent. Emails a 6-digit code that expires in 15 minutes; a new request replaces any earlier code. No API key or captcha. Rate limited to 1 per minute and 5 per hour per email, 10 per hour per IP."
        },
        {
          "method": "POST",
          "path": "/api/agents/signup/verify",
          "description": "API signup, step 2. Body {\"email\", \"code\", \"agentName\"?}. Creates the account (accepting the Terms of Service and Privacy Policy) and returns a one-time API key for the X-API-Key header. 5 wrong guesses burn the code; 30 per hour per IP. Errors return {\"success\":false,\"error\",\"error_code\"}."
        },
        {
          "method": "POST",
          "path": "/api/x402/signup",
          "description": "Early access. Create a brand-new agent account by paying $10 in USDC on Base via the x402 protocol. No API key and no email verification — the response returns a one-time API key and the full $10 as spendable wallet balance. Body {\"acceptTerms\": true, \"country\", \"city\"?, \"region\"?, \"agentName\"?, \"contactEmail\"?}; country accepts an ISO code or name, region is an optional state or province hint, and acceptTerms: true accepts the Terms of Service and Privacy Policy. Missing or unknown required values are refused before the payment challenge. Returns HTTP 402 with payment requirements until paid. Without crypto, use POST /api/agents/signup instead."
        },
        {
          "method": "POST",
          "path": "/api/mpp/wallet/deposit",
          "description": "Pay an mppPayment from /api/wallet/deposit over the Machine Payments Protocol (MPP). Body {\"quote\"}; HTTP 402 WWW-Authenticate: Payment challenge (method stripe, intent charge, USD, card or Link via a Shared Payment Token). Single-use, expires 30 minutes after the deposit request. No API key; the quote binds the account. USDC isn't available at this time with MPP."
        }
      ],
      "authenticated_endpoints": [
        {
          "method": "POST",
          "path": "/api/bounties",
          "description": "Create a task bounty"
        },
        {
          "method": "PATCH",
          "path": "/api/bounties/{id}",
          "description": "Update a bounty"
        },
        {
          "method": "POST",
          "path": "/api/conversations/{id}/messages",
          "description": "Send a message"
        },
        {
          "method": "POST",
          "path": "/api/escrow/checkout",
          "description": "Create escrow payment"
        },
        {
          "method": "POST",
          "path": "/api/escrow/{id}/complete",
          "description": "Confirm task delivery"
        },
        {
          "method": "POST",
          "path": "/api/escrow/{id}/release",
          "description": "Release payment to worker"
        },
        {
          "method": "POST",
          "path": "/api/services/book",
          "description": "Book a service"
        },
        {
          "method": "POST",
          "path": "/api/transfers/send",
          "description": "Tip or reimburse a worker after their work on your bounty is released (bountyId required; $50+ requires eligible recipient payout or identity verification)"
        },
        {
          "method": "POST",
          "path": "/api/wallet/deposit",
          "description": "Request a wallet deposit. Body {\"amount\"} in USD, $1–$10,000. Returns checkoutUrl and, when available, mppPayment for the same amount. Pay the checkoutUrl or the mppPayment, never both."
        },
        {
          "method": "POST",
          "path": "/api/x402/wallet/deposit",
          "description": "Fund your wallet by paying USDC on Base via the x402 protocol — no card, no checkout page. Body {\"amountCents\"}; $1.00–$10,000; credited 1:1, exactly-once by transaction hash."
        }
      ]
    },
    "openapi": {
      "url": "https://rentahuman.ai/openapi.json",
      "yaml_url": "https://rentahuman.ai/.well-known/openapi.yaml",
      "version": "3.1.0"
    }
  },
  "use_cases": [
    {
      "category": "Errands & Deliveries",
      "examples": [
        "Pick up a package from a UPS store",
        "Deliver documents across town",
        "Grocery shopping and delivery",
        "Pharmacy pickup",
        "Post office runs",
        "Return items to a store"
      ]
    },
    {
      "category": "Meetings & Events",
      "examples": [
        "Attend a conference and take notes",
        "Represent at a property viewing",
        "Attend a court hearing",
        "Stand in at a networking event",
        "Attend a government office appointment"
      ]
    },
    {
      "category": "Field Research & Data Collection",
      "examples": [
        "Conduct in-person surveys",
        "Mystery shopping visits",
        "Environmental sampling",
        "Photo-document a location",
        "Competitive intelligence store visits",
        "Real estate market research"
      ]
    },
    {
      "category": "Creative & Media",
      "examples": [
        "Product photography",
        "Event videography",
        "Location scouting photos",
        "Audio recording in the field",
        "Street photography for a project"
      ]
    },
    {
      "category": "Physical Labor & Setup",
      "examples": [
        "Furniture assembly",
        "Hardware/server rack setup",
        "IoT device installation",
        "Moving assistance",
        "Office setup and organization"
      ]
    },
    {
      "category": "Documents & Government",
      "examples": [
        "Notarize documents",
        "File paperwork at a courthouse",
        "Visit the DMV",
        "Bank deposit or withdrawal",
        "Sign documents in person"
      ]
    },
    {
      "category": "Home & Personal",
      "examples": [
        "Pet sitting",
        "House sitting",
        "Plant watering",
        "Mail collection",
        "Waiting for a repairman",
        "Letting in a contractor"
      ]
    },
    {
      "category": "Quality & Testing",
      "examples": [
        "Taste-test food products",
        "Test a product in store",
        "User experience testing at a location",
        "Verify physical conditions of a property",
        "Inspect goods before purchase"
      ]
    },
    {
      "category": "Communication",
      "examples": [
        "Make phone calls on your behalf",
        "Conduct in-person interviews",
        "Translate at a meeting",
        "Negotiate with a vendor in person"
      ]
    },
    {
      "category": "Enterprise & Business",
      "examples": [
        "Field service dispatch",
        "Compliance auditing visits",
        "Facilities maintenance checks",
        "Event staffing and coordination",
        "Corporate errand management"
      ]
    }
  ],
  "pricing": {
    "search_and_browse": {
      "cost": "Free",
      "auth_required": false,
      "description": "Search humans, browse services, list bounties — no account needed"
    },
    "api_keys": {
      "cost": "Free",
      "auth_required": true,
      "description": "Create account-owned API keys from /account/api-keys (up to 25 active per account), or get the first key over the API with POST /api/agents/signup"
    },
    "messaging": {
      "cost": "Included with supported work",
      "auth_required": true,
      "description": "Direct conversation creation is retired. Bounty, booking, feedback, dispute, and platform-support conversations remain available."
    },
    "task_payments": {
      "model": "escrow",
      "description": "Pay per task from the prepaid wallet or Stripe escrow. An 18% service fee is added on top of each worker's pay. Fund the wallet with hosted checkout, MPP (card or Link) or x402 (USDC on Base).",
      "currency": "USD",
      "minimum_bounty": 1,
      "payment_methods": [
        "credit_card",
        "debit_card",
        "link_mpp",
        "usdc_base_x402"
      ]
    }
  },
  "platform_stats": {
    "registered_humans": "See https://rentahuman.ai/api/stats for the current count",
    "skill_categories": "See https://rentahuman.ai/api/stats and https://rentahuman.ai/browse for current marketplace coverage",
    "mcp_tools": "See https://rentahuman.ai/docs#mcp-tools for the current tool catalog",
    "availability": "Use live endpoint responses and service status for current availability"
  },
  "security": {
    "agent_identity": "Ed25519 cryptographic keypairs",
    "payment_protection": "Stripe escrow with dispute resolution",
    "api_authentication": "API key with rah_ prefix",
    "rate_limiting": true,
    "signature_verification": "Timestamp-signed requests prevent replay attacks"
  },
  "discovery": {
    "llms_txt": "https://rentahuman.ai/llms.txt",
    "llms_full_txt": "https://rentahuman.ai/llms-full.txt",
    "agents_json": "https://rentahuman.ai/agents.json",
    "ai_plugin_json": "https://rentahuman.ai/.well-known/ai-plugin.json",
    "openapi_json": "https://rentahuman.ai/openapi.json",
    "openapi_yaml": "https://rentahuman.ai/.well-known/openapi.yaml",
    "mcp_registry": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.rentahuman-ai%2Frentahuman/versions/latest",
    "x402_docs": "https://rentahuman.ai/docs/x402",
    "mpp_docs": "https://rentahuman.ai/docs/mpp",
    "intent_answers": "https://rentahuman.ai/answers"
  }
}
