# Welcome Source: https://www.beecargo.net/docs Get started with Beecargo. ## FAQ ### How does Beecargo work? Beecargo is a simple file hosting service that allows you to upload files and share them with others. Upload your files, receive a unique link, and share that link with anyone. Files are stored securely in the cloud and can be accessed anytime. ### Is there a limit to the file size I can upload? Non-login users can upload files up to 25 GB each, with files remaining online for 15 days since the last download. Authenticated users enjoy unlimited file size and storage duration. Apply for access here. ### How do I upload a file? Simply click the "Upload file" button on the homepage, select your file(s), and the upload will begin automatically. Once complete, you'll receive a shareable link. You can also use our API for programmatic uploads. ### Are there any download limitations for users? All users can download files freely. Premium users get an ad-free download experience. ### How long are my files stored? Files from free users are stored for 30 days. Premium users get extended storage up to 1 year. Files that haven't been accessed in the storage period will be automatically deleted to free up space. ### Are there any restrictions on the types of files I can upload? We accept most file types including documents, images, videos, and archives. However, we prohibit uploading malicious files, illegal content, or copyrighted material without permission. Files are scanned for malware upon upload. ### Does Beecargo support API or remote upload? Yes! We provide a comprehensive REST API for developers. You can upload files, retrieve file information, and manage your uploads programmatically. Check our API documentation for detailed integration guides. ### Can my files be found in search engine results? No, files uploaded to Beecargo are not indexed by search engines. Files are only accessible via their unique link. We use robots.txt and noindex tags to prevent search engine crawling of uploaded content. --- # Overview Source: https://www.beecargo.net/docs/api/overview Learn how to integrate with Beecargo API. ## Getting started The Beecargo API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. ## Authentication Authenticated users can create API keys in dashboard settings, or agents can self-register a machine bc_* key via POST /agent/register (or MCP beecargo_register_agent). Include your API key in the Authorization header using the Bearer token format (OAuth 2.0 standard): `Authorization: Bearer YOUR_API_KEY` Alternative format: You can also use `Authorization: YOUR_API_KEY` (without "Bearer"), but the Bearer format is recommended as it follows the OAuth 2.0 standard. Anonymous uploads: You can also upload files without authentication. Anonymous uploads are limited to 25GB per file and expire after 15 days. Authenticated users can upload files larger than 25GB with no expiration. ## Base URL All API requests should be made to: `https://api.beecargo.net` ## Rate limiting API requests are limited to 100 requests per minute for free accounts and 1000 requests per minute for premium accounts. Rate limit information is included in response headers. --- # Upload a file Source: https://www.beecargo.net/docs/api/upload Upload files to Beecargo using the API. ## Endpoint `POST https://api.beecargo.net/files/upload` Use this endpoint for files under 4MB. The client examples below show how to automatically handle larger files with multipart upload. ## Authentication Option 1: API key with Bearer token (recommended) - Include your API key in the Authorization header using the Bearer token format (OAuth 2.0 standard). Create an API key in your dashboard settings. Option 2: Anonymous upload - No authentication required. Limited to 25GB per file, expires after 15 days. Automatic file size handling: The code examples below implement smart logic that automatically uses direct upload for files under 4MB and multipart upload for larger files. Just call the uploadFile()function and it handles everything for you! Sequential uploads for reliability: Our examples use sequential (one-at-a-time) part uploads for maximum stability and compatibility. This works reliably through proxies, VPNs, corporate networks, and file transfer services. While parallel uploads are faster, sequential uploads are more stable and less prone to connection timeouts. Use these ready-to-use code examples that automatically handle any file size. Copy and paste into your project - no modifications needed! ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | file | File | Yes | The file to upload | | folderId | String | No | Optional folder ID to organize the file | ## Response The URL returned is a temporary signed URL valid for 24 hours. For permanent access, use the short URL: https://beecargo.net/d/${shortId} Note: Anonymous uploads will have isAnonymous: true and expiresAt set to 15 days from upload. ### cURL ```bash # For files < 4MB - Use Bearer token format (OAuth 2.0 standard) curl -L -X POST https://api.beecargo.net/files/upload \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@/path/to/document.pdf" # For files >= 4MB, use the client library examples below # (multipart upload requires multiple API calls) Anonymous Upload (NOT saved to account): # File will NOT appear in your dashboard and expires in 15 days curl -L -X POST https://api.beecargo.net/files/upload \ -F "file=@/path/to/document.pdf" ``` ### TypeScript ```typescript const formData = new FormData(); formData.append("file", file); const res = await fetch("https://api.beecargo.net/files/upload", { method: "POST", headers: { Authorization: "Bearer YOUR_API_KEY" }, body: formData, }); const data: unknown = await res.json(); const anonymous = new FormData(); anonymous.append("file", file); await fetch("https://api.beecargo.net/files/upload", { method: "POST", body: anonymous }); ``` --- # Remote upload Source: https://www.beecargo.net/docs/api/remote-upload Upload files from a remote URL to Beecargo. `POST https://api.beecargo.net/files/remote-upload` Use this endpoint for remote uploads. The API streams the remote body to R2 (no full-file RAM buffer). For fire-and-forget large imports, use the async remote-multipart job endpoints. Option 1: API key with Bearer token (recommended) - Include your API key in the Authorization header using the Bearer token format (OAuth 2.0 standard). Create an API key in your dashboard settings. Agent bootstrap keys are free-tier; Premium-minted agent keys get higher remote/hour quotas. Option 2: Anonymous upload - No authentication required. Limited to 25GB per file, expires after 7 days. Rate limited to 10 uploads per hour per IP address. Anonymous users: Limited to 10 remote uploads per hour per IP address. Authenticated humans: no separate remote hourly cap (global API rate still applies). Agent keys: 30/hour bootstrap, 300/hour Premium-minted. Upload a file from any publicly accessible URL. The API downloads from the remote server and streams it into Beecargo storage. Large files: remote-upload streams via multipart put to R2. Prefer POST /files/remote-multipart/init when you want an async job (poll GET /files/remote-multipart/{jobId}; response includes sharePath when completed). ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | url | String | Yes | The URL of the file to download and upload to Beecargo | | folderId | String | No | Optional folder ID to organize the file (authenticated users only) | The URL returned is a temporary signed URL valid for 24 hours. For permanent access, use the short URL: https://beecargo.net/d/${shortId} Note: Anonymous uploads will have isAnonymous: true, expiresAt set to 7 days from upload, and include a deletionToken for managing the file. ### Supported URL formats - Direct download links (HTTP/HTTPS only) - URLs with proper Content-Length headers (recommended for quota checks) - URLs that don't require authentication or browser interaction - CDN links and object storage URLs (S3, R2, etc.) ### Limitations - File hosting services that require browser interaction are not supported (e.g., MediaFire, Mega.nz with captchas) - URLs requiring authentication or login cannot be used - Anonymous uploads: 10 per hour per IP, max 25GB per file, expires after 7 days - Download timeout: 5 minutes maximum for the initial request / stream window - Content-Length is recommended; without it size is enforced while streaming Best practice: use /files/remote-upload for most agent imports. Use remote-multipart when you need async status polling. Always share https://beecargo.net/d/{shortId} with humans. ### cURL ```bash # Upload from remote URL curl -X POST https://api.beecargo.net/files/remote-upload \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com/video.mp4", "folderId": null }' Anonymous Upload (NOT saved to account): # File will NOT appear in your dashboard and expires in 7 days curl -X POST https://api.beecargo.net/files/remote-upload \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com/document.pdf" }' ``` ### TypeScript ```typescript type RemoteUploadBody = { url: string; folderId?: string | null; }; await fetch("https://api.beecargo.net/files/remote-upload", { method: "POST", headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ url: "https://example.com/video.mp4", folderId: null, } satisfies RemoteUploadBody), }); await fetch("https://api.beecargo.net/files/remote-upload", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ url: "https://example.com/document.pdf", } satisfies RemoteUploadBody), }); ``` --- # Claim a file Source: https://www.beecargo.net/docs/api/claim Attach an anonymous upload to your account using fileId and claimToken from the upload response. `POST https://api.beecargo.net/files/claim` Required. Use Bearer bc_* from POST /agent/register or a dashboard API key with write scope. Moves an anonymous file into your account so it appears in GET /files/list and uses authenticated retention limits. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileId | String | Yes | Short file id from upload response (data.id), not a UUID | | claimToken | String | Yes | claimToken from the anonymous upload response | ### Usage notes - MCP equivalent: beecargo_claim_file after beecargo_register_agent - Claim is only valid for anonymous uploads that returned a claimToken ### cURL ```bash curl -X POST https://api.beecargo.net/files/claim \ -H "Authorization: Bearer YOUR_BC_KEY" \ -H "Content-Type: application/json" \ -d '{"fileId":"abc12xyz","claimToken":"YOUR_CLAIM_TOKEN"}' ``` ### TypeScript ```typescript await fetch("https://api.beecargo.net/files/claim", { method: "POST", headers: { Authorization: "Bearer YOUR_BC_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ fileId: "abc12xyz", claimToken: "YOUR_CLAIM_TOKEN", }), }); ``` --- # Agent API Source: https://www.beecargo.net/docs/api/agent Self-register machine accounts and discover capabilities for autonomous agents. ## POST /agent/register Public endpoint. Creates a machine user and one-time bc_* key with files_write scope. Rate-limited to 5 registrations per hour per IP. Store the key securely — it is shown only once. MCP beecargo_register_agent adopts the key in-session automatically. ### cURL ```bash curl -X POST https://api.beecargo.net/agent/register \ -H "Content-Type: application/json" \ -d '{"label":"my-agent"}' ``` ### TypeScript ```typescript const res = await fetch("https://api.beecargo.net/agent/register", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ label: "my-agent" }), }); const data = await res.json(); // data.key is one-time bc_* ``` ## GET /agent/capabilities Returns MCP URL, rate limits, feature flags, and links to llms.txt and agent-openapi.json. `GET https://api.beecargo.net/agent/capabilities` ## Operator provisioning POST /agent/api-keys mints keys in batch using Authorization: Bearer . Not for public integrators. ### Usage notes - Prefer MCP beecargo_register_agent for IDE agents connecting to mcp.beecargo.net - See /docs/mcp/register for the MCP tool reference --- # Retrieve a file Source: https://www.beecargo.net/docs/api/retrieve Get a signed download URL for a file. `GET https://api.beecargo.net/files/download/[fileId]` No authentication required. Anyone with the file ID can download the file. Retrieve a signed download URL by providing the file ID. The URL expires in 1 hour. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileId | String (UUID) | Yes | The unique identifier of the file | Returns a signed download URL that expires in 1 hour (3600 seconds). ### Usage notes - The signed URL expires in 1 hour (3600 seconds) - Each request to this endpoint counts as a download - The actual file is downloaded from the signed URL, not this endpoint - Downloads are tracked for analytics purposes ### cURL ```bash # Get download URL curl https://api.beecargo.net/files/download/550e8400-e29b-41d4-a716-446655440000 # Download file directly curl -L https://api.beecargo.net/files/download/550e8400-e29b-41d4-a716-446655440000 \ -o downloaded-file.pdf ``` ### TypeScript ```typescript // Get download URL const res = await fetch(`https://api.beecargo.net/files/download/550e8400-e29b-41d4-a716-446655440000`); const data: unknown = await res.json(); // Download file directly (follow redirects) const fileRes = await fetch(`https://api.beecargo.net/files/download/550e8400-e29b-41d4-a716-446655440000`, { redirect: "follow", }); const blob = await fileRes.blob(); // save blob to disk in your environment ``` --- # Get file info Source: https://www.beecargo.net/docs/api/file-info Get file information by shortCodes (similar to DDownload API). `GET https://api.beecargo.net/files/info?file_code=shortCode1,shortCode2` Optional: You can authenticate using an API key via the Authorization header or the key query parameter. Authentication is optional for this endpoint. Or use the key query parameter: ?key=YOUR_API_KEY Get file information for one or more files by providing their shortCodes (comma-separated). ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | file_code | String | Yes | Comma-separated list of shortCodes (e.g., "abc123,xyz789") | | key | String | No | API key for authentication (alternative to Authorization header) | Returns an array of file information objects. Each object has a status field indicating whether the file was found (200) or not found (404). ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | msg | String | | Response message ("OK" on success) | | server_time | String | | Server timestamp in "YYYY-MM-DD HH:MM:SS" format | | status | Number | | HTTP status code (200 for success) | | result | Array | | Array of file info objects | | result[].status | Number | | 200 if file found, 404 if not found | | result[].filecode | String | | The shortCode (short_id) of the file | | result[].name | String | | File name (only if status is 200) | | result[].size | String | | File size in bytes as string (only if status is 200) | | result[].uploaded | String | | Upload timestamp in "YYYY-MM-DD HH:MM:SS" format (only if status is 200) | | result[].download | String | | Download count as string (only if status is 200) | | result[].status_field | String | | File status: "active", "deleted", "dmca_removed", or "expired" (only if status is 200) | ### Usage notes - You can query multiple files at once by providing comma-separated shortCodes - Each file in the result array will have its own status (200 for found, 404 for not found) - The response format is similar to DDownload API for compatibility - File status field indicates the current state: active, deleted, dmca_removed, or expired - Only files with status "active" can be downloaded - Authentication is optional but recommended for rate limiting benefits ### cURL ```bash # Get info for a single file curl "https://api.beecargo.net/files/info?file_code=abc123" # Get info for multiple files (comma-separated) curl "https://api.beecargo.net/files/info?file_code=abc123,xyz789,def456" # With API key authentication curl "https://api.beecargo.net/files/info?file_code=abc123&key=YOUR_API_KEY" # Or with Authorization header curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.beecargo.net/files/info?file_code=abc123,xyz789" ``` ### TypeScript ```typescript await fetch(`https://api.beecargo.net/files/info?file_code=abc123`); await fetch(`https://api.beecargo.net/files/info?file_code=abc123,xyz789,def456`); await fetch(`https://api.beecargo.net/files/info?file_code=abc123&key=YOUR_API_KEY`); await fetch(`https://api.beecargo.net/files/info?file_code=abc123,xyz789`, { headers: { Authorization: "Bearer YOUR_API_KEY" }, }); ``` --- # List files and folders Source: https://www.beecargo.net/docs/api/list Get a list of your files and, when listing a folder, its subfolders. Use the same endpoint to list root contents or the contents of any folder. `GET https://api.beecargo.net/files/list` Required. Include your API key in the Authorization header using the Bearer token format. Create an API key in your dashboard settings. List all your uploaded files with pagination support. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | page | Integer | 1 | Page number for pagination | | limit | Integer | 50 | Number of files per page (max 200) | | folderId | String | - | Filter by folder ID. Use "null" for root folder only. | | includeFolders | Boolean | true | When true, response includes a "folders" array with subfolders of the requested folder (or root). Set to "false" to get only files. | data contains files; folders is present when listing a folder and includeFolders is true. ## List folders `GET https://api.beecargo.net/folders/list` To list only folders (e.g. all your folders or subfolders of a parent), use the folders endpoint. Same API key as above. Query params: parentId (folder UUID or "null" for root), page, limit, search. Response: { success, data: [ folders ], pagination }. Each folder includes id, name, parent_id, file_count, total_size when not searching. ### cURL ```bash # List all files (first page, 50 per page) curl https://api.beecargo.net/files/list \ -H "Authorization: Bearer YOUR_API_KEY" # With pagination curl "https://api.beecargo.net/files/list?page=2&limit=25" \ -H "Authorization: Bearer YOUR_API_KEY" # Filter by folder curl "https://api.beecargo.net/files/list?folderId=550e8400-e29b-41d4-a716-446655440000" \ -H "Authorization: Bearer YOUR_API_KEY" # List files in root folder only (no folder) curl "https://api.beecargo.net/files/list?folderId=null" \ -H "Authorization: Bearer YOUR_API_KEY" # List folder contents (files + subfolders) curl "https://api.beecargo.net/files/list?folderId=550e8400-e29b-41d4-a716-446655440000" \ -H "Authorization: Bearer YOUR_API_KEY" ``` ### TypeScript ```typescript const headers: HeadersInit = { Authorization: "Bearer YOUR_API_KEY", }; await fetch("https://api.beecargo.net/files/list", { headers }); await fetch("https://api.beecargo.net/files/list?page=2&limit=25", { headers }); await fetch(`https://api.beecargo.net/files/list?folderId=550e8400-e29b-41d4-a716-446655440000`, { headers }); await fetch("https://api.beecargo.net/files/list?folderId=null", { headers }); ``` --- # Delete a file Source: https://www.beecargo.net/docs/api/delete Permanently delete a file from your account. `DELETE https://api.beecargo.net/files/delete?fileId=FILE_ID` Required. Include your API key in the Authorization header using the Bearer token format. You can only delete files that belong to your account. Anonymous files: For anonymous uploads, you can also delete using the deletion token returned during upload: ?fileId=FILE_ID&token=DELETION_TOKEN Delete a file by its ID. This action is permanent and cannot be undone. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileId | String (UUID) | Yes | The unique identifier of the file to delete | | token | String | No* | Deletion token for anonymous files (alternative to API key) | * The token parameter is only required when deleting anonymous files without an API key. Common error responses: ### Usage notes - Deletion is permanent and cannot be undone - You can only delete files that belong to your account - The file is removed from both storage and the database - Download statistics for the file are also deleted ### cURL ```bash # Delete a file with API key curl -X DELETE "https://api.beecargo.net/files/delete?fileId=550e8400-e29b-41d4-a716-446655440000" \ -H "Authorization: Bearer YOUR_API_KEY" # Delete an anonymous file with deletion token (no API key needed) curl -X DELETE "https://api.beecargo.net/files/delete?fileId=550e8400-e29b-41d4-a716-446655440000&token=YOUR_DELETION_TOKEN" ``` ### TypeScript ```typescript // Delete with API key await fetch( `https://api.beecargo.net/files/delete?fileId=550e8400-e29b-41d4-a716-446655440000`, { method: "DELETE", headers: { Authorization: "Bearer YOUR_API_KEY" }, }, ); // Delete anonymous file with deletion token await fetch( `https://api.beecargo.net/files/delete?fileId=550e8400-e29b-41d4-a716-446655440000&token=YOUR_DELETION_TOKEN`, { method: "DELETE" }, ); ``` --- # Overview Source: https://www.beecargo.net/docs/mcp/overview Connect Cursor, Claude Desktop, or custom agents to Beecargo file hosting via MCP. ## Getting started The Model Context Protocol (MCP) exposes Beecargo upload, download, folders, and multipart flows as tools your assistant can call without hand-writing HTTP. Prefer remote upload for agent workflows; use multipart tools for local blobs over 4MB. ## Zero-human uploads You do not need a merchant API key for ephemeral workflows. Use beecargo_remote_upload with a public file URL, or beecargo_upload_file for small base64 payloads. Responses include a share link https://beecargo.net/d/{shortId}, plus claimToken and deletionToken for anonymous files. ## Authentication Hosted MCP is open by default: add https://mcp.beecargo.net/mcp with no headers (rate-limited). Call beecargo_register_agent for a persistent bc_* key, or pass x-beecargo-api-key / Bearer bc_* if you already have one. Operator lockdown: set BEECARGO_MCP_REQUIRE_AUTH=true and BEECARGO_MCP_BEARER_TOKEN on the server. Operator batch minting: POST /agent/api-keys with AGENT_PROVISIONING_SECRET. OAuth Connect with Beecargo is planned. The MCP host already publishes OAuth protected-resource metadata when BEECARGO_MERCHANT_OAUTH_ENABLED=true; use API keys until consent flow ships. ## Hosted MCP (HTTP) Add the URL with no headers (rate-limited). Then call beecargo_register_agent, then beecargo_remote_upload. `https://mcp.beecargo.net/mcp` After beecargo_register_agent succeeds, this MCP session adopts the returned bc_* key automatically so beecargo_list_files and beecargo_claim_file work without pasting the key again. Optional operator lockdown: set BEECARGO_MCP_REQUIRE_AUTH=true and BEECARGO_MCP_BEARER_TOKEN on the MCP server to require transport bearer or bc_* on /mcp. Health: https://mcp.beecargo.net/health ## Local stdio Run from the monorepo: npm run dev:mcp in apps/mcp, or npx @beecargo/mcp. BEECARGO_API_KEY is optional if you use beecargo_register_agent in the same session. ## Discovery - Agent card: https://beecargo.net/.well-known/agent.json - API capabilities: https://api.beecargo.net/agent/capabilities - llms.txt: https://beecargo.net/llms.txt ## Agent tools Dedicated MCP tool pages: - beecargo_register_agent: https://www.beecargo.net/docs/mcp/register - beecargo_claim_file: https://www.beecargo.net/docs/mcp/claim - beecargo_search_tools: https://www.beecargo.net/docs/mcp/search --- # Register agent Source: https://www.beecargo.net/docs/mcp/register Mint a persistent bc_* machine API key for owned storage without a human account. ## Tool `beecargo_register_agent` Creates a machine Supabase user and a files_write API key. The MCP session adopts the returned key automatically so beecargo_list_files and beecargo_claim_file work in the same connection. ## Authentication No API key required. Rate-limited to 5 registrations per hour per client IP. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | label | String | No | Optional label for the key (max 120 characters, default mcp-agent) | ### Usage notes - The key is shown only once in the response — store it if you need it outside this MCP session. - REST equivalent: POST https://api.beecargo.net/agent/register - After register, prefer beecargo_remote_upload for uploads tied to your agent account. --- # Claim anonymous file Source: https://www.beecargo.net/docs/mcp/claim Move an anonymous upload into your registered agent account using claimToken from the upload response. ## Tool `beecargo_claim_file` Anonymous uploads return claimToken alongside fileId. Claim attaches the file to your API key owner so it appears in beecargo_list_files and uses authenticated retention limits. ## Authentication Requires bc_* API key (from beecargo_register_agent or x-beecargo-api-key). ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileId | String | Yes | Short file id from upload response (data.id), not a UUID | | claimToken | String | Yes | claimToken from the anonymous upload response | ### Usage notes - REST equivalent: POST https://api.beecargo.net/files/claim with Bearer bc_* - If you registered in-session, you do not need to paste the key again for MCP. --- # Search MCP tools Source: https://www.beecargo.net/docs/mcp/search Keyword search over available Beecargo MCP tools. ## Tool `beecargo_search_tools` Discover tools by name or summary text. Similar to lomi_search_tools for agents exploring the MCP surface. ## Authentication No API key required. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | query | String | No | Keyword filter (default empty lists all tools up to limit) | | limit | Integer | No | Max results (1–20, default 10) | ### Usage notes - Returns JSON with matching tool names and short summaries. - Use when you are unsure which upload or file tool to call. --- # Upload a file Source: https://www.beecargo.net/docs/mcp/upload Upload a small file to Beecargo via MCP (base64, under 4MB). ## Tool `beecargo_upload_file` For files under 4MB. For larger files, prefer beecargo_remote_upload or the REST multipart upload flow. ## Authentication API key optional. Anonymous uploads use free limits and return claimToken and deletionToken. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileName | String | Yes | Original file name | | contentBase64 | String | Yes | File contents encoded as base64 | | contentType | String | No | MIME type (default application/octet-stream) | | folderId | String | No | Optional folder UUID (authenticated users only) | ### Usage notes - Payloads over 4MB are rejected — use remote upload or REST multipart instead. - Anonymous responses include share URL, fileId, claimToken, and deletionToken. --- # Remote upload Source: https://www.beecargo.net/docs/mcp/remote-upload Import a file from a public HTTPS URL via MCP. ## Tool `beecargo_remote_upload` Beecargo fetches the URL server-side and stores the file. Use this instead of base64 upload whenever the source is already on the public web. ## Authentication API key optional. Preferred path for agent / zero-human uploads. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | url | String | Yes | Public HTTPS URL to fetch | | folderId | String | No | Optional folder UUID (authenticated users only) | ### Usage notes - Save deletionToken and claimToken from anonymous responses. - Share links look like https://beecargo.net/d/{shortId}. --- # Retrieve a file Source: https://www.beecargo.net/docs/mcp/retrieve Get a signed download URL for a file by fileId via MCP. ## Tool `beecargo_get_download_url` Returns a temporary signed download URL for the given fileId (from an upload response). ## Authentication No API key required. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileId | String | Yes | File id from upload response (data.id), not a UUID | ### Usage notes - Signed URLs expire (typically about 1 hour) — request a fresh URL when needed. --- # Get file info Source: https://www.beecargo.net/docs/mcp/file-info Look up file metadata by short codes via MCP. ## Tool `beecargo_file_info` Batch metadata lookup using comma-separated short codes (the public share id segment). ## Authentication API key optional. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileCodes | String | Yes | Comma-separated short codes, e.g. abc12,xyz99 | ### Usage notes - Mirrors GET /files/info?file_code=… on the REST API. --- # List files Source: https://www.beecargo.net/docs/mcp/list List files owned by the authenticated API key via MCP. ## Tool `beecargo_list_files` Lists files for the merchant / agent key attached to the MCP session. ## Authentication API key required (BEECARGO_API_KEY, x-beecargo-api-key, or self-register first). ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | page | Number | No | Page number (default 1) | | limit | Number | No | Page size, 1–200 (default 50) | | folderId | String | No | Optional folder UUID filter | ### Usage notes - Anonymous sessions cannot list — register an agent or set a key first. --- # Delete a file Source: https://www.beecargo.net/docs/mcp/delete Delete a file by fileId via MCP. ## Tool `beecargo_delete_file` Deletes the file from storage. Anonymous uploads must pass the deletionToken returned at upload time. ## Authentication API key for owned files, or deletionToken for anonymous uploads. ### Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | fileId | String | Yes | File id from upload response | | deletionToken | String | No | Required for anonymous deletes when no API key owns the file | ### Usage notes - This action is destructive and cannot be undone. --- # Agent corpus (machine-readable) --- --- Index: https://www.beecargo.net/agents --- --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — product definition Source: https://www.beecargo.net/agents/product ## Definition Freemium file hosting: upload files, share via short links, and integrate with a REST API and MCP tools for AI agents. ## Category Cloud file hosting with share links, a developer REST API, and an MCP server for AI agents. ## Tagline Fast and secure, effortless file sharing. --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — category (file hosting for AI agents) Source: https://www.beecargo.net/agents/category ## Category Cloud file hosting with share links, a developer REST API, and an MCP server for AI agents. ## Positioning - Beecargo is a share-link file host with first-class agent integration (MCP + REST + llms.txt), not a general-purpose cloud drive suite. - Unlike link-only send-and-forget services, Beecargo offers authenticated storage, API keys, and programmatic remote import from URLs. - Unlike API-only object storage, Beecargo optimizes for human share links (/d/{shortId}) and agent bootstrap flows without requiring a dashboard signup. ## Discovery - Agent card: https://www.beecargo.net/.well-known/agent.json - llms.txt: https://www.beecargo.net/llms.txt - MCP: https://mcp.beecargo.net/mcp --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — limits and pricing facts Source: https://www.beecargo.net/agents/limits ## Numeric facts - Max file size: 25 GB - Free account storage: 5.0 GB - Premium account storage: 100 GB - Anonymous direct upload TTL: 15 days - Anonymous remote upload TTL: 7 days - Free API rate: 100 requests/minute - Premium API rate: 1000 requests/minute - Anonymous remote uploads: 10/hour per IP - Multipart threshold: 4.0 MB - API base URL: https://api.beecargo.net (no /api prefix) - Share link pattern: https://www.beecargo.net/d/{shortId} - MCP endpoint: https://mcp.beecargo.net/mcp --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — category positioning Source: https://www.beecargo.net/agents/compare ## Comparisons - Beecargo is a share-link file host with first-class agent integration (MCP + REST + llms.txt), not a general-purpose cloud drive suite. - Unlike link-only send-and-forget services, Beecargo offers authenticated storage, API keys, and programmatic remote import from URLs. - Unlike API-only object storage, Beecargo optimizes for human share links (/d/{shortId}) and agent bootstrap flows without requiring a dashboard signup. --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — agent integration steps Source: https://www.beecargo.net/agents/integration ## How to integrate (agents) 1. Read /llms.txt for the API and MCP map. 2. Connect to https://mcp.beecargo.net/mcp (stdio alternative: @beecargo/mcp npm package). 3. Call beecargo_register_agent to obtain bc_* (files_write, free-tier quotas). The MCP session adopts the key. 4. Upload via beecargo_remote_upload with a public HTTPS url (preferred) or beecargo_upload_file for small base64 payloads. 5. Return the share link https://www.beecargo.net/d/{shortId} from the tool response. 6. REST equivalent: POST /agent/register then POST /files/remote-upload with Authorization: Bearer bc_*. 7. Save fileId (short id), claimToken and deletionToken for anonymous uploads. --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — MCP quickstart Source: https://www.beecargo.net/agents/mcp-quickstart ## Steps 1. Read /llms.txt for the API and MCP map. 2. Connect to https://mcp.beecargo.net/mcp (stdio alternative: @beecargo/mcp npm package). 3. Call beecargo_register_agent to obtain bc_* (files_write, free-tier quotas). The MCP session adopts the key. 4. Upload via beecargo_remote_upload with a public HTTPS url (preferred) or beecargo_upload_file for small base64 payloads. 5. Return the share link https://www.beecargo.net/d/{shortId} from the tool response. ## Docs - https://www.beecargo.net/docs/mcp/overview - https://www.beecargo.net/llms.txt --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — FAQ Source: https://www.beecargo.net/agents/faq ## What is Beecargo? Freemium file hosting: upload files, share via short links, and integrate with a REST API and MCP tools for AI agents. Cloud file hosting with share links, a developer REST API, and an MCP server for AI agents. ## How do AI agents integrate with Beecargo? Connect to MCP at https://mcp.beecargo.net/mcp (no headers required by default), call beecargo_register_agent for a bc_* key, then beecargo_remote_upload or REST POST https://api.beecargo.net/files/remote-upload. See https://www.beecargo.net/docs/mcp/overview. ## What are anonymous upload limits? Up to 25 GB per file. Direct uploads expire after 15 days; remote imports after 7 days. Remote uploads without a key: 10/hour per IP. ## What does the free authenticated tier include? 5.0 GB account storage and 100 API requests per minute. ## What does Premium include for agents? Premium-minted agent keys: 100 GB storage, 1000 API requests/minute, 300 remote uploads/hour. Bootstrap self-register keys use free quotas (5.0 GB, 100/min, 30 remote/hour). ## Are share links indexed by search engines? No. Share paths under /d/ are disallowed in robots.txt and use noindex. Only the site and documentation are intended for indexing. ## What is the maximum file size? 25 GB per file on supported tiers. Files ≥ 4 MB use multipart upload. ## What are Premium subscription prices? Trial $0.90/2 days; monthly $12.90/month; annual $59.90/year. --- Machine-readable reference for AI agents and crawlers. Humans: use the main site or /docs. # Beecargo — disambiguation Source: https://www.beecargo.net/agents/disambiguation ## Canonical name Beecargo ## Note Not related to similarly-named products in other industries.