بنقرة واحدة
manus
// Delegate complex tasks to Manus AI - web research, report generation, code building, data scraping, file management, multi-turn conversations, project instructions. Full CRUD, Files, Projects, and Webhook APIs.
// Delegate complex tasks to Manus AI - web research, report generation, code building, data scraping, file management, multi-turn conversations, project instructions. Full CRUD, Files, Projects, and Webhook APIs.
| name | manus |
| version | 3.0.0 |
| description | Delegate complex tasks to Manus AI - web research, report generation, code building, data scraping, file management, multi-turn conversations, project instructions. Full CRUD, Files, Projects, and Webhook APIs. |
| author | mvanhorn |
| license | MIT |
| repository | https://github.com/mvanhorn/clawdbot-skill-manus |
| homepage | https://manus.im |
| metadata | {"openclaw":{"emoji":"🤖","requires":{"env":["MANUS_API_KEY"]},"primaryEnv":"MANUS_API_KEY","tags":["agent","automation","manus","web-browsing","research","reports","scraping","code-generation","data-extraction","task-delegation","autonomous","ai-agent","cost-tracking","multi-turn","files","projects","webhooks","mobile-dev","financial-modeling"],"triggers":["manus","delegate","autonomous task","have manus","ask manus","send to manus","manus research","manus report","manus scrape","manus build","check manus","manus status","manus history","manus cost","manus files","manus project","manus continue"]}} |
Delegate complex tasks to Manus - an autonomous AI agent that browses the web, writes code, generates reports, scrapes data, builds mobile apps, creates financial models, and delivers complete work products.
Base URL: https://api.manus.im/v1
Authentication Header: API_KEY: <your-key>
Set via:
MANUS_API_KEY environment variableskills.manus.apiKey in OpenClaw configIMPORTANT: The
manus-1.5,manus-1.5-lite, andmanus-1.5-maxprofiles are DEPRECATED and will stop working. Always use the 1.6 profiles below.
| Profile | Speed | Depth | Best for | Relative cost |
|---|---|---|---|---|
manus-1.6 | Standard | Full | Most tasks, file creation, reports | Standard (recommended default) |
manus-1.6-lite | Fast | Light | Quick lookups, simple questions, summaries | ~40% cheaper |
manus-1.6-max | Slow | Deep | Complex multi-step research, thorough analysis (+19.2% satisfaction vs standard) | ~2x standard |
Default: Always use manus-1.6 unless the user explicitly asks for lite or max.
Wide Research: All Wide Research sub-agents automatically use manus-1.6-max for maximum depth.
Before creating a task, inform the user of the expected profile:
manus-1.6-litemanus-1.6manus-1.6-maxUsers can override with "use lite", "use max", or "use the cheap one" / "use the thorough one".
Manus 1.6 adds these capabilities over 1.5:
| Mode | Description | When to use |
|---|---|---|
agent | Full autonomous agent with tool use | File creation, web browsing, code writing (recommended default) |
chat | Conversational back-and-forth | Simple Q&A, brainstorming |
adaptive | Auto-selects best approach | When unsure which mode fits |
Default: Always use agent mode for tasks that produce deliverables.
Use these templates to create well-structured tasks. Always include createShareableLink: true.
For market research, competitive analysis, topic deep-dives.
curl -s -X POST "https://api.manus.im/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Research [TOPIC]. Find the top [N] [entities] by [criteria]. For each, provide: name, description, key metrics, recent news. Compile into a structured report with sections, tables, and citations. Include a summary with key takeaways.",
"agentProfile": "manus-1.6",
"taskMode": "agent",
"createShareableLink": true
}'
Example prompts:
For creating formatted documents, presentations, executive summaries.
curl -s -X POST "https://api.manus.im/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Create a [FORMAT] about [TOPIC]. Include: [SECTIONS]. Use professional formatting with headers, bullet points, and data tables where appropriate. Export as [FILE_TYPE].",
"agentProfile": "manus-1.6",
"taskMode": "agent",
"createShareableLink": true
}'
Example prompts:
For generating code projects, scripts, prototypes.
curl -s -X POST "https://api.manus.im/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Build a [LANGUAGE/FRAMEWORK] [PROJECT_TYPE] that [FUNCTIONALITY]. Include: [REQUIREMENTS]. Follow best practices for [LANGUAGE]. Include a README with setup instructions.",
"agentProfile": "manus-1.6",
"taskMode": "agent",
"createShareableLink": true
}'
Example prompts:
For extracting structured data from websites.
curl -s -X POST "https://api.manus.im/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Scrape [WEBSITE/SOURCE] and extract [DATA_FIELDS] for [ENTITIES]. Output as [FORMAT: CSV/JSON/table]. Include [N] results. Handle pagination if needed.",
"agentProfile": "manus-1.6",
"taskMode": "agent",
"createShareableLink": true
}'
Example prompts:
curl -s -X POST "https://api.manus.im/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Your task description here",
"agentProfile": "manus-1.6",
"taskMode": "agent",
"createShareableLink": true
}'
Full parameter reference:
| Parameter | Type | Default | Description |
|---|---|---|---|
prompt | string | (required) | The task description |
agentProfile | string | manus-1.6 | Agent profile: manus-1.6, manus-1.6-lite, manus-1.6-max |
taskMode | string | agent | Task mode: agent, chat, adaptive |
createShareableLink | boolean | false | Generate a public share URL |
interactiveMode | boolean | false | Allow Manus to ask follow-up questions (task pauses with stop_reason: ask) |
projectId | string | - | Associate with a project's persistent instructions |
taskId | string | - | Continue an existing conversation (multi-turn) |
locale | string | - | Language locale (e.g., "zh-CN", "ja", "es") |
attachments | array | - | Files to attach (see Attachment types below) |
Attachment types:
// From an uploaded file ID (see Files API)
{ "type": "fromFileId", "fileId": "file_abc123" }
// From a URL (Manus downloads it)
{ "type": "fromUrl", "url": "https://example.com/data.csv" }
// Inline base64 content
{ "type": "fromBase64", "data": "base64-encoded-content", "fileName": "image.png", "mimeType": "image/png" }
Response:
{
"task_id": "abc123",
"task_title": "Task Title",
"task_url": "https://manus.im/app/abc123",
"status": "pending"
}
After creating a task, immediately tell the user:
To continue a previous task as a conversation, pass the original taskId:
curl -s -X POST "https://api.manus.im/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Now add a section about pricing trends",
"agentProfile": "manus-1.6",
"taskMode": "agent",
"taskId": "PREVIOUS_TASK_ID",
"createShareableLink": true
}'
This preserves all context from the previous task. Use this when:
interactiveMode and Manus asked a question (stop_reason: ask)curl -s "https://api.manus.im/v1/tasks/{task_id}" \
-H "API_KEY: $MANUS_API_KEY"
Status values:
| Status | Meaning | Action |
|---|---|---|
pending | Queued, not yet started | Wait and poll again in 15-30 seconds |
running | Actively working | Wait and poll again in 15-30 seconds |
completed | Finished successfully | Retrieve and deliver results |
failed | Task errored out | Report error, suggest retry |
curl -s -X PUT "https://api.manus.im/v1/tasks/{task_id}" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "New title for this task"
}'
curl -s -X DELETE "https://api.manus.im/v1/tasks/{task_id}" \
-H "API_KEY: $MANUS_API_KEY"
curl -s "https://api.manus.im/v1/tasks?status=completed&page=1&limit=20" \
-H "API_KEY: $MANUS_API_KEY"
Query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string | - | Filter by status: pending, running, completed, failed |
page | integer | 1 | Page number |
limit | integer | 20 | Results per page |
When showing task history to the user, format it as a table:
| Task ID | Title | Status | Profile | Created |
|---------|-------|--------|---------|---------|
| abc123 | Market Research | completed | manus-1.6 | 2 hours ago |
| def456 | Code Review | running | manus-1.6-lite | 5 min ago |
After creating a task, poll for completion. Use the helper script or curl directly.
With the helper script:
bash scripts/manus.sh wait <task_id> 600
With curl (manual polling):
# Poll every 15 seconds until completed or failed
task_id="YOUR_TASK_ID"
status="pending"
while [ "$status" != "completed" ] && [ "$status" != "failed" ]; do
sleep 15
status=$(curl -s "https://api.manus.im/v1/tasks/$task_id" \
-H "API_KEY: $MANUS_API_KEY" | jq -r '.status // "unknown"')
done
When polling, give the user periodic updates:
When a task completes, the response contains output content and files:
curl -s "https://api.manus.im/v1/tasks/{task_id}" \
-H "API_KEY: $MANUS_API_KEY"
Response structure:
{
"task_id": "abc123",
"status": "completed",
"task_title": "Research Report",
"output": [
{
"content": [
{
"type": "text",
"text": "Here is the research summary..."
},
{
"type": "output_file",
"fileUrl": "https://private-us-east-1.manuscdn.com/...",
"fileName": "research_report.pdf"
}
]
}
]
}
Always do these steps when a task completes:
# List files from a completed task
bash scripts/manus.sh files <task_id>
# Download all output files to a directory
bash scripts/manus.sh download <task_id> ./manus-output
Manual download:
curl -sL "https://private-us-east-1.manuscdn.com/path/to/file" -o "output_filename.pdf"
Manage file uploads for use as task attachments.
curl -s -X POST "https://api.manus.im/v1/files" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fileName": "data.csv",
"mimeType": "text/csv"
}'
Response:
{
"file_id": "file_abc123",
"upload_url": "https://s3.amazonaws.com/manus-uploads/...",
"expires_at": "2026-03-16T00:00:00Z"
}
Then upload the file content to the presigned S3 URL:
curl -s -X PUT "$UPLOAD_URL" \
-H "Content-Type: text/csv" \
--data-binary @data.csv
After uploading, use fromFileId attachment type when creating a task:
{ "attachments": [{ "type": "fromFileId", "fileId": "file_abc123" }] }
curl -s "https://api.manus.im/v1/files" \
-H "API_KEY: $MANUS_API_KEY"
Returns the 10 most recent files.
curl -s "https://api.manus.im/v1/files/{file_id}" \
-H "API_KEY: $MANUS_API_KEY"
curl -s -X DELETE "https://api.manus.im/v1/files/{file_id}" \
-H "API_KEY: $MANUS_API_KEY"
Projects let you set persistent instructions that apply to all tasks in a project. Useful for brand guidelines, output format preferences, or domain context.
curl -s -X POST "https://api.manus.im/v1/projects" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Q1 Market Research",
"instructions": "Always format output as markdown tables. Use formal tone. Include source URLs for all claims. Target audience: C-suite executives."
}'
Response:
{
"project_id": "proj_abc123",
"name": "Q1 Market Research"
}
Then pass projectId when creating tasks:
{ "prompt": "Research competitor pricing", "projectId": "proj_abc123" }
curl -s "https://api.manus.im/v1/projects" \
-H "API_KEY: $MANUS_API_KEY"
Instead of polling, you can register a webhook URL to receive real-time task updates.
curl -s -X POST "https://api.manus.im/v1/webhooks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.com/manus-webhook",
"events": ["task_created", "task_progress", "task_stopped"]
}'
curl -s -X DELETE "https://api.manus.im/v1/webhooks/{webhook_id}" \
-H "API_KEY: $MANUS_API_KEY"
task_created - Fires when a task starts:
{
"event": "task_created",
"task_id": "abc123",
"title": "Market Research Report",
"url": "https://manus.im/app/abc123"
}
task_progress - Fires during task execution:
{
"event": "task_progress",
"task_id": "abc123",
"progress_type": "step",
"message": "Browsing competitor websites..."
}
task_stopped - Fires when a task finishes or pauses:
{
"event": "task_stopped",
"task_id": "abc123",
"stop_reason": "finish",
"attachments": [
{ "fileName": "report.pdf", "fileUrl": "https://private-us-east-1.manuscdn.com/..." }
]
}
stop_reason values:
finish - Task completed normallyask - Task paused, Manus is asking a follow-up question (use multi-turn to reply)Manus 1.6 can connect to external services during task execution. The user must authorize connectors in their Manus dashboard first.
| Connector | What Manus can do |
|---|---|
| Gmail | Read, search, send emails |
| Notion | Read/write pages and databases |
| Google Calendar | View/create calendar events |
| Slack | Read channels, send messages |
| Similarweb | Pull website traffic and analytics data |
When creating tasks that involve these services, mention the connector in the prompt:
When the user asks you to delegate a task to Manus:
createShareableLink: trueagent mode for tasks that create files or documentscreateShareableLink: true in every task creation requestHTTP 401 or 403
Tell the user:
export MANUS_API_KEY='your-key-here'"HTTP 400 or 500
manus-1.6, manus-1.6-lite, manus-1.6-max)agent, chat, adaptive)When status is failed:
HTTP 429
The included scripts/manus.sh provides CLI shortcuts:
manus.sh create "prompt" [profile] - Create a new task
manus.sh get <task_id> - Get full task details
manus.sh status <task_id> - Get status (pending/running/completed/failed)
manus.sh wait <task_id> [timeout] - Wait for completion (default: 600s)
manus.sh files <task_id> - List output files
manus.sh download <task_id> [dir] - Download all output files
manus.sh list [status] - List tasks (optionally filter by status)
manus.sh update <task_id> "new title" - Update task title
manus.sh delete <task_id> - Delete a task
manus.sh upload <filepath> - Upload a file, returns file_id
manus.sh list-files - List recent uploaded files
manus.sh delete-file <file_id> - Delete an uploaded file
manus.sh create-project "name" "instructions" - Create a project
manus.sh list-projects - List projects
manus.sh webhook-create <url> [events] - Create a webhook
manus.sh webhook-delete <webhook_id> - Delete a webhook
Profiles: manus-1.6 (default), manus-1.6-lite, manus-1.6-max
/parallel for fast multi-engine web searches that return immediately - good for gathering context before creating a Manus task./last30days for Twitter/X, Reddit, and news monitoring with sentiment analysis.Manus is best for tasks that require autonomous multi-step work - browsing multiple sites, compiling findings, generating formatted deliverables. For quick lookups, other tools are faster and cheaper.