{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mfapi",
    "name": "Mfapi",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/kanaksinghal/mfapi",
    "canonicalUrl": "https://clawhub.ai/kanaksinghal/mfapi",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/mfapi",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mfapi",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/get_nav.py"
    ],
    "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",
      "slug": "mfapi",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-05T14:23:31.351Z",
      "expiresAt": "2026-05-12T14:23:31.351Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mfapi",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mfapi",
        "contentDisposition": "attachment; filename=\"mfapi-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "mfapi"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/mfapi"
    },
    "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/mfapi",
    "agentPageUrl": "https://openagent3.xyz/skills/mfapi/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mfapi/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mfapi/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": "MFapi Skill",
        "body": "Query Indian mutual fund data — NAV history, scheme info, search — using the free MFapi.in API."
      },
      {
        "title": "Setup",
        "body": "No authentication or API keys required. The API is completely free and open.\n\nEnsure curl and jq are installed:\n\n# Debian/Ubuntu\nsudo apt install -y curl jq\n\n# macOS\nbrew install curl jq"
      },
      {
        "title": "What is an ISIN Code?",
        "body": "ISIN (International Securities Identification Number) is a 12-character alphanumeric code that uniquely identifies a security globally (e.g. INF200K01UT4). Indian mutual fund schemes have up to two ISINs:\n\nisinGrowth — identifies the Growth option of the scheme\nisinDivReinvestment — identifies the IDCW (Dividend) Reinvestment option (may be null)\n\nISIN codes are printed on CAS (Consolidated Account Statements), broker/demat platforms, and AMFI's website. They are stable identifiers — unlike scheme names, they don't change when a fund house rebrands."
      },
      {
        "title": "Base URL",
        "body": "https://api.mfapi.in\n\nData is updated 6× daily (10:05 AM, 2:05 PM, 6:05 PM, 9:05 PM, 3:09 AM, 5:05 AM IST)."
      },
      {
        "title": "Search schemes by name",
        "body": "curl -s \"https://api.mfapi.in/mf/search?q=HDFC\" | jq '.[] | {schemeCode, schemeName}'"
      },
      {
        "title": "List all schemes (paginated)",
        "body": "curl -s \"https://api.mfapi.in/mf?limit=100&offset=0\" | jq '.[] | {schemeCode, schemeName}'"
      },
      {
        "title": "Get latest NAV for a scheme",
        "body": "curl -s \"https://api.mfapi.in/mf/125497/latest\" | jq '{scheme: .meta.scheme_name, nav: .data[0].nav, date: .data[0].date}'"
      },
      {
        "title": "Get NAV history for a scheme",
        "body": "curl -s \"https://api.mfapi.in/mf/125497\" | jq '{scheme: .meta.scheme_name, records: (.data | length)}'"
      },
      {
        "title": "Get NAV history with date range",
        "body": "curl -s \"https://api.mfapi.in/mf/125497?startDate=2023-01-01&endDate=2023-12-31\" | jq '.data'"
      },
      {
        "title": "Get latest NAV for all schemes",
        "body": "curl -s \"https://api.mfapi.in/mf/latest\" | jq '.[:5]'"
      },
      {
        "title": "Latest NAV (/mf/{scheme_code}/latest)",
        "body": "{\n  \"meta\": {\n    \"fund_house\": \"HDFC Mutual Fund\",\n    \"scheme_type\": \"Open Ended Schemes\",\n    \"scheme_category\": \"Equity Scheme - Large Cap Fund\",\n    \"scheme_code\": 125497,\n    \"scheme_name\": \"HDFC Top 100 Fund - Direct Plan - Growth\",\n    \"isin_growth\": \"INF179K01BB2\",\n    \"isin_div_reinvestment\": null\n  },\n  \"data\": [\n    {\n      \"date\": \"26-10-2024\",\n      \"nav\": \"892.45600\"\n    }\n  ],\n  \"status\": \"SUCCESS\"\n}"
      },
      {
        "title": "Search (/mf/search?q=...)",
        "body": "[\n  {\n    \"schemeCode\": 125497,\n    \"schemeName\": \"HDFC Top 100 Fund - Direct Plan - Growth\"\n  }\n]"
      },
      {
        "title": "Scheme list (/mf)",
        "body": "[\n  {\n    \"schemeCode\": 125497,\n    \"schemeName\": \"HDFC Top 100 Fund - Direct Plan - Growth\",\n    \"isinGrowth\": \"INF179K01BB2\",\n    \"isinDivReinvestment\": \"INF179K01BC0\"\n  }\n]"
      },
      {
        "title": "Endpoints Reference",
        "body": "MethodEndpointDescriptionParametersGET/mf/searchSearch schemes by nameq (required)GET/mfList all schemes (paginated)limit (1–1000), offset (default 0)GET/mf/{scheme_code}NAV history for a schemestartDate, endDate (ISO 8601)GET/mf/{scheme_code}/latestLatest NAV for a scheme—GET/mf/latestLatest NAV for all schemes—"
      },
      {
        "title": "Get Latest NAV by ISIN (Python)",
        "body": "The API doesn't support querying by ISIN directly. The scripts/get_nav.py script resolves ISIN → scheme code using a locally cached scheme list, then fetches the latest NAV."
      },
      {
        "title": "How it works",
        "body": "Cache — Downloads the full scheme list (/mf, ~37k schemes) to /tmp/mfapi-schemes.json. Refreshes automatically if the cache is missing or older than 24 hours.\nLookup — Searches isinGrowth and isinDivReinvestment fields in the cache. If no match, refreshes the cache and retries.\nFetch — Uses the resolved scheme code to call /mf/{scheme_code}/latest."
      },
      {
        "title": "Usage",
        "body": "# Single ISIN\npython3 scripts/get_nav.py INF200K01UT4\n\n# Multiple ISINs\npython3 scripts/get_nav.py INF200K01UT4 INF846K01DP8"
      },
      {
        "title": "Example output",
        "body": "{\n  \"isin\": \"INF200K01UT4\",\n  \"scheme_code\": 119800,\n  \"scheme_name\": \"SBI Liquid Fund - DIRECT PLAN -Growth\",\n  \"fund_house\": \"SBI Mutual Fund\",\n  \"category\": \"Debt Scheme - Liquid Fund\",\n  \"nav\": \"4277.67540\",\n  \"date\": \"18-02-2026\"\n}\n\nWhen multiple ISINs are passed, the output is a JSON array."
      },
      {
        "title": "Notes",
        "body": "Dates in responses use DD-MM-YYYY format; query params use ISO 8601 (YYYY-MM-DD)\nNAV values are strings with 5-decimal precision\nScheme codes can be found via the search or list endpoints, or from AMFI's website\nThe /mf endpoint returns all ~37,000 schemes; the Python script caches it locally at /tmp/mfapi-schemes.json to avoid repeated large fetches\nCache auto-refreshes on ISIN lookup miss or after 24 hours\nNo rate-limit headers are published, but the API asks for fair usage"
      },
      {
        "title": "Examples",
        "body": "# Find all SBI mutual fund schemes\ncurl -s \"https://api.mfapi.in/mf/search?q=SBI\" | jq '.[].schemeName'\n\n# Get today's NAV for a known scheme\ncurl -s \"https://api.mfapi.in/mf/119551/latest\" | jq '.data[0]'\n\n# Compare NAVs across a year\ncurl -s \"https://api.mfapi.in/mf/125497?startDate=2025-01-01&endDate=2025-12-31\" \\\n  | jq '[.data[0], .data[-1]] | {latest: .[0], oldest: .[1]}'\n\n# Get fund house and category for a scheme\ncurl -s \"https://api.mfapi.in/mf/125497/latest\" | jq '.meta | {fund_house, scheme_category}'\n\n# List first 10 Direct Plan Growth schemes matching \"Axis\"\ncurl -s \"https://api.mfapi.in/mf/search?q=Axis\" \\\n  | jq '[.[] | select(.schemeName | test(\"Direct.*Growth\"))] | .[:10]'\n\n# Get latest NAV by ISIN\npython3 scripts/get_nav.py INF200K01UT4"
      }
    ],
    "body": "MFapi Skill\n\nQuery Indian mutual fund data — NAV history, scheme info, search — using the free MFapi.in API.\n\nSetup\n\nNo authentication or API keys required. The API is completely free and open.\n\nEnsure curl and jq are installed:\n\n# Debian/Ubuntu\nsudo apt install -y curl jq\n\n# macOS\nbrew install curl jq\n\nWhat is an ISIN Code?\n\nISIN (International Securities Identification Number) is a 12-character alphanumeric code that uniquely identifies a security globally (e.g. INF200K01UT4). Indian mutual fund schemes have up to two ISINs:\n\nisinGrowth — identifies the Growth option of the scheme\nisinDivReinvestment — identifies the IDCW (Dividend) Reinvestment option (may be null)\n\nISIN codes are printed on CAS (Consolidated Account Statements), broker/demat platforms, and AMFI's website. They are stable identifiers — unlike scheme names, they don't change when a fund house rebrands.\n\nBase URL\nhttps://api.mfapi.in\n\n\nData is updated 6× daily (10:05 AM, 2:05 PM, 6:05 PM, 9:05 PM, 3:09 AM, 5:05 AM IST).\n\nUsage\nSearch schemes by name\ncurl -s \"https://api.mfapi.in/mf/search?q=HDFC\" | jq '.[] | {schemeCode, schemeName}'\n\nList all schemes (paginated)\ncurl -s \"https://api.mfapi.in/mf?limit=100&offset=0\" | jq '.[] | {schemeCode, schemeName}'\n\nGet latest NAV for a scheme\ncurl -s \"https://api.mfapi.in/mf/125497/latest\" | jq '{scheme: .meta.scheme_name, nav: .data[0].nav, date: .data[0].date}'\n\nGet NAV history for a scheme\ncurl -s \"https://api.mfapi.in/mf/125497\" | jq '{scheme: .meta.scheme_name, records: (.data | length)}'\n\nGet NAV history with date range\ncurl -s \"https://api.mfapi.in/mf/125497?startDate=2023-01-01&endDate=2023-12-31\" | jq '.data'\n\nGet latest NAV for all schemes\ncurl -s \"https://api.mfapi.in/mf/latest\" | jq '.[:5]'\n\nResponse Formats\nLatest NAV (/mf/{scheme_code}/latest)\n{\n  \"meta\": {\n    \"fund_house\": \"HDFC Mutual Fund\",\n    \"scheme_type\": \"Open Ended Schemes\",\n    \"scheme_category\": \"Equity Scheme - Large Cap Fund\",\n    \"scheme_code\": 125497,\n    \"scheme_name\": \"HDFC Top 100 Fund - Direct Plan - Growth\",\n    \"isin_growth\": \"INF179K01BB2\",\n    \"isin_div_reinvestment\": null\n  },\n  \"data\": [\n    {\n      \"date\": \"26-10-2024\",\n      \"nav\": \"892.45600\"\n    }\n  ],\n  \"status\": \"SUCCESS\"\n}\n\nSearch (/mf/search?q=...)\n[\n  {\n    \"schemeCode\": 125497,\n    \"schemeName\": \"HDFC Top 100 Fund - Direct Plan - Growth\"\n  }\n]\n\nScheme list (/mf)\n[\n  {\n    \"schemeCode\": 125497,\n    \"schemeName\": \"HDFC Top 100 Fund - Direct Plan - Growth\",\n    \"isinGrowth\": \"INF179K01BB2\",\n    \"isinDivReinvestment\": \"INF179K01BC0\"\n  }\n]\n\nEndpoints Reference\nMethod\tEndpoint\tDescription\tParameters\nGET\t/mf/search\tSearch schemes by name\tq (required)\nGET\t/mf\tList all schemes (paginated)\tlimit (1–1000), offset (default 0)\nGET\t/mf/{scheme_code}\tNAV history for a scheme\tstartDate, endDate (ISO 8601)\nGET\t/mf/{scheme_code}/latest\tLatest NAV for a scheme\t—\nGET\t/mf/latest\tLatest NAV for all schemes\t—\nGet Latest NAV by ISIN (Python)\n\nThe API doesn't support querying by ISIN directly. The scripts/get_nav.py script resolves ISIN → scheme code using a locally cached scheme list, then fetches the latest NAV.\n\nHow it works\nCache — Downloads the full scheme list (/mf, ~37k schemes) to /tmp/mfapi-schemes.json. Refreshes automatically if the cache is missing or older than 24 hours.\nLookup — Searches isinGrowth and isinDivReinvestment fields in the cache. If no match, refreshes the cache and retries.\nFetch — Uses the resolved scheme code to call /mf/{scheme_code}/latest.\nUsage\n# Single ISIN\npython3 scripts/get_nav.py INF200K01UT4\n\n# Multiple ISINs\npython3 scripts/get_nav.py INF200K01UT4 INF846K01DP8\n\nExample output\n{\n  \"isin\": \"INF200K01UT4\",\n  \"scheme_code\": 119800,\n  \"scheme_name\": \"SBI Liquid Fund - DIRECT PLAN -Growth\",\n  \"fund_house\": \"SBI Mutual Fund\",\n  \"category\": \"Debt Scheme - Liquid Fund\",\n  \"nav\": \"4277.67540\",\n  \"date\": \"18-02-2026\"\n}\n\n\nWhen multiple ISINs are passed, the output is a JSON array.\n\nNotes\nDates in responses use DD-MM-YYYY format; query params use ISO 8601 (YYYY-MM-DD)\nNAV values are strings with 5-decimal precision\nScheme codes can be found via the search or list endpoints, or from AMFI's website\nThe /mf endpoint returns all ~37,000 schemes; the Python script caches it locally at /tmp/mfapi-schemes.json to avoid repeated large fetches\nCache auto-refreshes on ISIN lookup miss or after 24 hours\nNo rate-limit headers are published, but the API asks for fair usage\nExamples\n# Find all SBI mutual fund schemes\ncurl -s \"https://api.mfapi.in/mf/search?q=SBI\" | jq '.[].schemeName'\n\n# Get today's NAV for a known scheme\ncurl -s \"https://api.mfapi.in/mf/119551/latest\" | jq '.data[0]'\n\n# Compare NAVs across a year\ncurl -s \"https://api.mfapi.in/mf/125497?startDate=2025-01-01&endDate=2025-12-31\" \\\n  | jq '[.data[0], .data[-1]] | {latest: .[0], oldest: .[1]}'\n\n# Get fund house and category for a scheme\ncurl -s \"https://api.mfapi.in/mf/125497/latest\" | jq '.meta | {fund_house, scheme_category}'\n\n# List first 10 Direct Plan Growth schemes matching \"Axis\"\ncurl -s \"https://api.mfapi.in/mf/search?q=Axis\" \\\n  | jq '[.[] | select(.schemeName | test(\"Direct.*Growth\"))] | .[:10]'\n\n# Get latest NAV by ISIN\npython3 scripts/get_nav.py INF200K01UT4"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/kanaksinghal/mfapi",
    "publisherUrl": "https://clawhub.ai/kanaksinghal/mfapi",
    "owner": "kanaksinghal",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mfapi",
    "downloadUrl": "https://openagent3.xyz/downloads/mfapi",
    "agentUrl": "https://openagent3.xyz/skills/mfapi/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mfapi/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mfapi/agent.md"
  }
}