Install
openclaw skills install scrapefunUse this skill when OpenClaw needs to operate a scrapefun server through the dedicated OpenClaw-facing APIs. Prefer /api/openclaw/* query and download endpoi...
openclaw skills install scrapefunUse this skill only for scrapefun operational APIs.
Default rule:
X-OpenClaw-Key/api/openclaw/*/api/metadata, /api/metadata/stats, /api/settings/webdav/search, or /api/settings/webdav/add_offline_download/api/openclaw/* endpoint returns 404, 403, or validation failure, report the exact blocker instead of switching to an old path unless the fallback is explicitly allowed belowThis skill does not perform OpenClaw-side resource discovery.
Preferred auth:
X-OpenClaw-Key: <access key>Fallback auth:
POST /api/auth/loginAuthorization: Bearer <token>Rules:
OPENCLAW_ACCESS_KEY or the saved skill api keyOPENCLAW_SCRAPEFUN_API_KEY/api/openclaw/*Use these endpoints as the default interface surface:
GET /api/openclaw/libraries/catalog
Required permission: library_query
Use for listing media entries in a library
GET /api/openclaw/media/:metadataId/state
Required permission: library_query
Use for existing files, existing episodes, and missing episodes
GET /api/openclaw/media/:metadataId/download-target
Required permission: download_target_query
Use for target path, season path, storage, and next missing episode
POST /api/openclaw/media/:metadataId/download-check
Required permission: download_dedupe
Use before every download submission
Minimum payload: {} or {"seasonNumber":<n>,"episodeNumber":<n>}
Optional fields: candidateName, candidateSize, strictEpisodeMatch
POST /api/openclaw/downloads/submit
Required permission: download_submit
Use for offline download submission
Minimum payload: {"metadataId":"<metadataId>","magnet":"<magnet>"} or {"metadataId":"<metadataId>","urls":["<url>"]}
Optional fields: preferredPath, seasonNumber, episodeNumber, candidateMeta
POST /api/openclaw/downloads/:downloadId/confirm-landed
Required permission: download_confirm
Use to verify landed files after submission
Minimum payload: {"metadataId":"<metadataId>"}
Optional fields: expectedPath, seasonNumber, episodeNumber, waitMs, forceRefresh
POST /api/openclaw/media/:metadataId/finalize-import
Required permission: import_finalize
Use for post-download scan, organize, and verification
Minimum payload: {"downloadPath":"<webdav path>"}
Optional fields: seasonNumber, episodeNumber, matchMode, forceScan, downloadId
GET /api/openclaw/downloads/:downloadId
Required permission: download_status or one of download_submit, download_confirm, import_finalize
Use for compact workflow status
POST /api/openclaw/libraries/scan
Required permission: library_scan
Use only for explicit rescan or forced refresh
Use these sequences.
GET /api/openclaw/libraries/catalog?libraryName=<name>Do not use:
GET /api/metadataGET /api/metadata/statsmetadataId from catalogGET /api/openclaw/media/:metadataId/stateDo not use:
GET /api/metadataGET /api/openclaw/media/:metadataId/download-targetPOST /api/openclaw/media/:metadataId/download-checkDo not manually combine:
/api/libraries/api/settings/webdav/storage/resolve/api/settings/webdav/searchunless the fallback rules below explicitly allow it
POST /api/openclaw/downloads/submitDo not call:
POST /api/settings/webdav/add_offline_downloaddirectly from this skill
POST /api/openclaw/downloads/:downloadId/confirm-landedPOST /api/openclaw/media/:metadataId/finalize-importGET /api/openclaw/downloads/:downloadIdDo not manually combine:
GET /api/scrape/webdav/listPOST /api/scrape/webdav/scanPOST /api/scrape/matchas the default path
Before relying on a path in your answer, treat these failures distinctly:
404: endpoint not available on this server version403: missing OpenClaw permission400: required parameters missing or invalidRules:
catalog, state, download-target, download-check, downloads/submit, confirm-landed, or finalize-import returns 404, say the server does not expose that OpenClaw endpointGET /api/openclaw/downloads/:downloadId returns 404, report Download workflow not found; do not describe it as route absence403, report the exact missing permission and stopPOST /api/openclaw/libraries/scan returns partial: true, report the failed library root paths explicitlyFallback is allowed only in these cases.
GET /api/libraries
Use only when the user explicitly asks for raw library config fields such as path, scraper, sourceMode, or sourcePreferencesJson
GET /api/scrape/search
Use only when the user explicitly asks for raw scraper candidates
GET /api/scrape/webdav/list
Use only when the user explicitly asks for directory-level file enumeration detail that the OpenClaw endpoints do not return
POST /api/openclaw/libraries/scan
Use only when the user explicitly wants a scan or when finalize-import is unavailable and the user still wants a best-effort refresh
GET /api/metadata for library listingGET /api/metadata for missing episode detectionGET /api/metadata/stats for media browsingPOST /api/settings/webdav/add_offline_download for normal download submissionGET /api/settings/webdav/search for normal landed-file checksDo not use:
/api/openclaw/bootstrap/status/api/openclaw/connect/context/api/openclaw/jobs/*/api/openclaw/sites/*/api/openclaw/tasks/*OPENCLAW_URL remote delegation flowKeep responses functional only.
Always state:
Do not add product commentary or discovery-side explanation unless it is required to explain a blocker.
User request:
把 Anime 里的媒体条目发给我看看
Execution:
GET /api/openclaw/libraries/catalog?libraryName=AnimeUser request:
芙莉莲现在有哪些集,缺哪些集
Execution:
metadataId from catalogGET /api/openclaw/media/:metadataId/stateUser request:
这个 magnet 下载到对应番剧目录
Execution:
GET /api/openclaw/media/:metadataId/download-targetPOST /api/openclaw/media/:metadataId/download-checkPOST /api/openclaw/downloads/submit with metadataId and magnet or urlsUser request:
下载完成后继续扫出来
Execution:
POST /api/openclaw/downloads/:downloadId/confirm-landed with metadataIdPOST /api/openclaw/media/:metadataId/finalize-import with downloadPathGET /api/openclaw/downloads/:downloadIdUser request:
Anime 的路径和 scraper 是什么
Execution:
GET /api/librariespath, type, sourceMode, scraper, and sourcePreferencesJson