{
  "schemaVersion": "1.0",
  "item": {
    "slug": "serpapi-flights",
    "name": "SerpApi Flights (Google Flights)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/kirorab/serpapi-flights",
    "canonicalUrl": "https://clawhub.ai/kirorab/serpapi-flights",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/serpapi-flights",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=serpapi-flights",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/query.mjs"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/serpapi-flights"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/serpapi-flights",
    "agentPageUrl": "https://openagent3.xyz/skills/serpapi-flights/agent",
    "manifestUrl": "https://openagent3.xyz/skills/serpapi-flights/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/serpapi-flights/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "SerpApi Flights (Google Flights)",
        "body": "Query real-time flight data from Google Flights via SerpApi. Returns airline, flight number, times, prices, aircraft type, and cabin class info."
      },
      {
        "title": "Setup",
        "body": "export SERPAPI_KEY=your_api_key\n\nFree tier: 100 searches/month at serpapi.com"
      },
      {
        "title": "Query Flights",
        "body": "node {baseDir}/scripts/query.mjs <FROM> <TO> [-d YYYY-MM-DD] [options]\n\nFROM/TO can be IATA codes (HKG, PVG) or Chinese city names (香港, 上海)."
      },
      {
        "title": "Examples",
        "body": "# Basic query\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25\n\n# Business class\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 -c 3\n\n# All cabin classes (economy + business)\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 --all\n\n# Direct flights only\nnode {baseDir}/scripts/query.mjs 香港 上海 -d 2026-02-25 --direct\n\n# Round trip\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 -r 2026-03-01\n\n# JSON output\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 --json"
      },
      {
        "title": "Options",
        "body": "-d, --date <YYYY-MM-DD>: Departure date (default: today)\n-r, --return <YYYY-MM-DD>: Return date (makes it round-trip)\n-c, --class <1-4>: 1=economy, 2=premium economy, 3=business, 4=first\n--all: Query economy + business together\n-a, --adults <n>: Passengers (default: 1)\n--direct: Non-stop flights only\n--currency <code>: Currency (default: CNY)\n--json: Raw JSON output"
      },
      {
        "title": "Output Columns",
        "body": "ColumnMeaning航空公司Airline name航班号Flight number出发→到达Departure → arrival time (+1 = next day)飞行时间Total duration经停Non-stop or number of stops价格Price in specified currency机型Aircraft type延误⚠️ = often delayed >30min"
      },
      {
        "title": "Supported Cities (Chinese)",
        "body": "北京 上海 广州 深圳 成都 重庆 杭州 南京 武汉 西安 长沙 昆明 厦门 青岛 大连 天津 郑州 沈阳 哈尔滨 海口 三亚 贵阳 南宁 福州 济南 合肥 太原 乌鲁木齐 兰州 珠海 温州 宁波 无锡 揭阳/潮汕/汕头 香港 澳门 台北"
      },
      {
        "title": "Notes",
        "body": "Prices from Google Flights, may differ from airline direct prices\nNo seat availability/remaining tickets (Google Flights limitation)\nSome flights show \"待查\" price when Google doesn't have pricing\n⚠️ delay indicator based on historical data"
      }
    ],
    "body": "SerpApi Flights (Google Flights)\n\nQuery real-time flight data from Google Flights via SerpApi. Returns airline, flight number, times, prices, aircraft type, and cabin class info.\n\nSetup\nexport SERPAPI_KEY=your_api_key\n\n\nFree tier: 100 searches/month at serpapi.com\n\nQuery Flights\nnode {baseDir}/scripts/query.mjs <FROM> <TO> [-d YYYY-MM-DD] [options]\n\n\nFROM/TO can be IATA codes (HKG, PVG) or Chinese city names (香港, 上海).\n\nExamples\n# Basic query\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25\n\n# Business class\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 -c 3\n\n# All cabin classes (economy + business)\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 --all\n\n# Direct flights only\nnode {baseDir}/scripts/query.mjs 香港 上海 -d 2026-02-25 --direct\n\n# Round trip\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 -r 2026-03-01\n\n# JSON output\nnode {baseDir}/scripts/query.mjs HKG PVG -d 2026-02-25 --json\n\nOptions\n-d, --date <YYYY-MM-DD>: Departure date (default: today)\n-r, --return <YYYY-MM-DD>: Return date (makes it round-trip)\n-c, --class <1-4>: 1=economy, 2=premium economy, 3=business, 4=first\n--all: Query economy + business together\n-a, --adults <n>: Passengers (default: 1)\n--direct: Non-stop flights only\n--currency <code>: Currency (default: CNY)\n--json: Raw JSON output\nOutput Columns\nColumn\tMeaning\n航空公司\tAirline name\n航班号\tFlight number\n出发→到达\tDeparture → arrival time (+1 = next day)\n飞行时间\tTotal duration\n经停\tNon-stop or number of stops\n价格\tPrice in specified currency\n机型\tAircraft type\n延误\t⚠️ = often delayed >30min\nSupported Cities (Chinese)\n\n北京 上海 广州 深圳 成都 重庆 杭州 南京 武汉 西安 长沙 昆明 厦门 青岛 大连 天津 郑州 沈阳 哈尔滨 海口 三亚 贵阳 南宁 福州 济南 合肥 太原 乌鲁木齐 兰州 珠海 温州 宁波 无锡 揭阳/潮汕/汕头 香港 澳门 台北\n\nNotes\nPrices from Google Flights, may differ from airline direct prices\nNo seat availability/remaining tickets (Google Flights limitation)\nSome flights show \"待查\" price when Google doesn't have pricing\n⚠️ delay indicator based on historical data"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/kirorab/serpapi-flights",
    "publisherUrl": "https://clawhub.ai/kirorab/serpapi-flights",
    "owner": "kirorab",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/serpapi-flights",
    "downloadUrl": "https://openagent3.xyz/downloads/serpapi-flights",
    "agentUrl": "https://openagent3.xyz/skills/serpapi-flights/agent",
    "manifestUrl": "https://openagent3.xyz/skills/serpapi-flights/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/serpapi-flights/agent.md"
  }
}