{"skill":{"slug":"rapidapi","displayName":"rapidapi","summary":"Template-driven RapidAPI client with auto-registered actions and a universal call entrypoint","description":"---\nname: rapidapi-universal-skill\ndescription: Template-driven RapidAPI client with auto-registered actions and a universal call entrypoint\nmetadata: {\"openclaw\":{\"requires\":{\"env\":[\"RAPIDAPI_KEY\"]},\"primaryEnv\":\"RAPIDAPI_KEY\"}}\n---\n\nUse `{baseDir}/index.js` to call RapidAPI with templates from `{baseDir}/templates`.\nPrefer this skill when the task involves RapidAPI endpoints or template-defined actions.\n\n## What This Skill Actually Does\nThis skill is a minimal RapidAPI client that turns RapidAPI endpoint definitions into callable actions.\nIt is meant for:\n- converting a RapidAPI endpoint into a stable action name\n- standardizing inputs into query/body/header/path params\n- returning a consistent `ok/status/data/error/meta` shape\n\nIt is not a server. It is a small local client you can call from scripts or other skills.\n\n## Key Capabilities\n- Auto-registers templates from `{baseDir}/templates/*.json`\n- `listActions()` enumerates all registered actions with schemas\n- `callAction(name, params)` calls a template-defined endpoint\n- `callRapidApi(payload)` allows direct RapidAPI calls without a template\n- `scripts/import-endpoint.js` converts a RapidAPI endpoint JSON payload into a template file\n\n## Basic Usage\nUse config-driven init (recommended):\n```js\nimport { createRapidApiSkill } from \"{baseDir}/index.js\";\nimport config from \"{baseDir}/config.json\" assert { type: \"json\" };\n\nconst skill = await createRapidApiSkill({ config });\nconst res = await skill.callAction(\"get_user_tweets\", {\n  user: \"2455740283\",\n  count: 20\n});\n```\n\nOr direct call (no template):\n```js\nconst skill = await createRapidApiSkill({ config });\nconst res = await skill.callRapidApi({\n  host: \"twitter241.p.rapidapi.com\",\n  path: \"/user-tweets\",\n  method: \"GET\",\n  query: { user: \"2455740283\", count: 20 }\n});\n```\n\n## Template Design Notes\nTemplates are plain JSON. They should contain:\n- `name`, `host`, `path`, `method`\n- `querySchema` (and optionally `bodySchema`, `headerSchema`, `pathParams`)\n\nExample snippet:\n```json\n{\n  \"name\": \"get_user_tweets\",\n  \"host\": \"twitter241.p.rapidapi.com\",\n  \"path\": \"/user-tweets\",\n  \"method\": \"GET\",\n  \"querySchema\": {\n    \"user\": {\"type\": \"string\", \"required\": true},\n    \"count\": {\"type\": \"number\", \"required\": true},\n    \"cursor\": {\"type\": \"string\"}\n  }\n}\n```\n\n## Where It Fits\nUse this skill when you need a consistent, reusable RapidAPI interface without building a backend.\nIt is especially useful for:\n- social data APIs (X/Twitter, TikTok, LinkedIn)\n- search/aggregation APIs\n- repeated RapidAPI calls across multiple tasks or workflows\n","tags":{"latest":"0.1.0"},"stats":{"comments":0,"downloads":736,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1772848593468,"updatedAt":1779077809041},"latestVersion":{"version":"0.1.0","createdAt":1772848593468,"changelog":"- Initial release of rapidapi-universal-skill: a minimal, template-driven RapidAPI client.\n- Auto-registers all RapidAPI action templates from the templates directory.\n- Provides consistent actions: listActions(), callAction(name, params), and callRapidApi(payload).\n- Includes helper script (import-endpoint.js) to convert RapidAPI endpoints to templates.\n- Designed for stable, repeatable calls to RapidAPI endpoints in local scripts or workflows.","license":null},"metadata":{"setup":[{"key":"RAPIDAPI_KEY","required":true}],"os":null,"systems":null},"owner":{"handle":"web3aivc","userId":"s17beej6wn1e9syk7v82syazcd83q4q3","displayName":"web3aivc","image":"https://avatars.githubusercontent.com/u/122167631?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1779948702664}}