{"schema_version":"2026-09","name":"cefradar","title":"CEF Radar","version":"0.1.0","description":"U.S. closed-end funds from public SEC filings: which large investors are in a fund, what the fund is asking holders to do and by when, what it costs, how much it borrows and what it holds - every number with an as-of date and a link to the source document. Not investment advice.","base_url":"https://cefradar.com","docs_url":"https://cefradar.com/api/docs","openapi_url":"https://cefradar.com/api/openapi.json","auth":{"type":"api_key","in":["header:Authorization: Bearer <key>","header:X-API-Key"],"anonymous":{"daily_limit":100},"signup_url":"https://cefradar.com/alerts"},"rate_limit_headers":["X-RateLimit-Limit","X-RateLimit-Remaining"],"rate_limit_note":"Headers reflect the budget of the request that rendered the response; cached anonymous responses (X-Cache: HIT) carry none.","timestamps":"All dates are YYYY-MM-DD; all timestamps are UTC RFC 3339 with a trailing Z.","tools":[{"name":"search_funds","description":"Finds a U.S. closed-end fund by its ticker, its name or the company that runs it (case- and space-insensitive; ticker matches first) and returns up to 6 matches with ticker, name and page link.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/search"},"input_schema":{"type":"object","required":["q"],"properties":{"q":{"type":"string","description":"ticker, name or sponsor, e.g. 'japan smaller'"}}},"output":"JSON list [{ticker, name, url, is_cef}]; is_cef=false means the ticker is a company, not a closed-end fund"},{"name":"get_fund_facts","description":"Returns what a U.S. closed-end fund costs, how much it borrows, its size, the value of its holdings per share at the last fiscal year end and its recent holdings returns, all from SEC filings, each fact with an as-of date and a link to the source document.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/funds/{ticker}/facts"},"input_schema":{"type":"object","required":["ticker"],"properties":{"ticker":{"type":"string","description":"exchange ticker of the fund, e.g. JOF"}}},"output":"JSON fund with facts{name: {value, as_of, source_url, source}}, quarters[] (up to 8, monthly holdings returns in percent), xbrl[] (annual-report facts), sources{}. Percent fields are 0-100; money is USD."},{"name":"get_fund_holdings","description":"Returns the 25 largest holdings of a U.S. closed-end fund and its mix by asset type and country, from its latest quarterly holdings report, with the report date and source link.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/funds/{ticker}/holdings"},"input_schema":{"type":"object","required":["ticker"],"properties":{"ticker":{"type":"string","description":"exchange ticker of the fund, e.g. JOF"}}},"output":"JSON fund with as_of, source_url, mix{asset_cat, issuer_cat, country}, items[{rank, name, pct_val, ...}]"},{"name":"which_funds_hold","description":"Lists every U.S. closed-end fund whose latest quarterly holdings report includes a given company or bond (by name, CUSIP or ISIN), grouped by security with each fund's share, the report date and the source document.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/holdings/search"},"input_schema":{"type":"object","required":["q"],"properties":{"q":{"type":"string","description":"company or bond name, CUSIP or ISIN, e.g. 'apple'"}}},"output":"JSON list [{security, cusip, isin, funds_total, funds:[{ticker, name, url, pct_val, pct_of_holdings, as_of, source_url}]}]; pct_val = share of net assets as filed, pct_of_holdings = share of the fund's long book; at most 50 funds per security and 200 fund rows in all"},{"name":"get_fund_events","description":"Returns the dated announcements of one closed-end fund that a holder may need to act on - buy-back (tender) offers, shareholder votes, closings, mergers, offers of new shares, payout notices - with deadlines, a plain-language sentence, what the holder should do, and the source document.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/funds/{ticker}/events"},"input_schema":{"type":"object","required":["ticker"],"properties":{"ticker":{"type":"string","description":"exchange ticker, e.g. JOF"},"kind":{"type":"string","enum":["tender_offer","tender_update","tender_result","proxy_contest","liquidation","open_ending","merger","merger_acquirer","rights_offering","share_offering","managed_distribution","preferred_redemption","deregistration","delisting"]},"open":{"type":"string","enum":["1"],"description":"1 = only announcements still open to act on"}}},"output":"JSON fund with items[{kind, filed_at, deadline, summary, instruction, is_open, pct_of_shares, price_pct_of_nav, edgar_url, ...}]; numbers are null when our automatic reading is unverified"},{"name":"list_events","description":"Lists recent announcements across all U.S. closed-end funds (tender offers, votes, liquidations, mergers, offerings, payout notices), newest first, each with the fund, a plain-language sentence, the deadline and a link to the SEC document; filter by kind and date.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/events"},"input_schema":{"type":"object","properties":{"kind":{"type":"string","enum":["tender_offer","tender_update","tender_result","proxy_contest","liquidation","open_ending","merger","merger_acquirer","rights_offering","share_offering","managed_distribution","preferred_redemption","deregistration","delisting"]},"since":{"type":"string","format":"date"},"until":{"type":"string","format":"date"},"cef":{"type":"string","enum":["1","0"],"default":"1"},"issuer":{"type":"string","description":"fund ticker"},"open":{"type":"string","enum":["1"],"description":"1 = only announcements still open to act on"},"page":{"type":"integer","minimum":1,"default":1},"per_page":{"type":"integer","minimum":1,"maximum":200,"default":50}}},"output":"JSON {items:[event with issuer], page, per_page, total, pages}"},{"name":"list_campaigns","description":"Lists large investors' reported stakes (5% or more) in funds and companies, newest activity first; pass cef=1 for closed-end funds only. 'Hostile' means the investor said it may push for changes.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/campaigns"},"input_schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","exited","all"],"default":"active"},"cef":{"type":"string","enum":["1","0"],"description":"1 = closed-end funds only"},"activist":{"type":"string","description":"investor slug, e.g. saba"},"issuer":{"type":"string","description":"fund ticker or slug"},"page":{"type":"integer","minimum":1,"default":1},"per_page":{"type":"integer","minimum":1,"maximum":200,"default":50}}},"output":"JSON {items:[campaign], page, per_page, total, pages}; campaign has activist, issuer, current_pct, max_pct, first_filed_at, last_filed_at, status"},{"name":"get_activist","description":"Profile of one large investor: the funds it is in now, the funds it has left, and its latest notices.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/activists/{slug}"},"input_schema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","description":"from list_activists"}}},"output":"JSON activist with campaigns[] and latest_filings[]"},{"name":"list_activists","description":"All large investors we follow, with how many funds each is in.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/activists"},"input_schema":{"type":"object","properties":{"cef_focus":{"type":"string","enum":["1"]},"page":{"type":"integer","minimum":1,"default":1},"per_page":{"type":"integer","minimum":1,"maximum":200,"default":50}}},"output":"JSON {items:[activist], ...paging}"},{"name":"get_fund","description":"One closed-end fund (or any company) by ticker: which large investors hold it, its latest notices and announcements, and a short facts summary (cost, borrowing, size).","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/funds/{ticker}"},"input_schema":{"type":"object","required":["ticker"],"properties":{"ticker":{"type":"string","description":"exchange ticker of the fund, e.g. JOF"}}},"output":"JSON issuer with campaigns[], latest_filings[], latest_events[], facts{}"},{"name":"list_funds","description":"All U.S. closed-end funds with sponsor, category, yearly cost, borrowing and size (each with as-of date and source link); filter by category or sponsor, sort by name, cost, borrowing or size.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/funds"},"input_schema":{"type":"object","properties":{"activist":{"type":"string","enum":["1"],"description":"1 = only funds where a large investor holds a stake"},"sponsor":{"type":"string"},"category":{"type":"string","description":"e.g. municipal, taxable-bond, equity"},"sort":{"type":"string","enum":["ticker","name","cost","borrowing","size"],"default":"ticker"},"dir":{"type":"string","enum":["asc","desc"]},"q":{"type":"string","description":"substring of name/ticker"},"page":{"type":"integer","minimum":1,"default":1},"per_page":{"type":"integer","minimum":1,"maximum":200,"default":50}}},"output":"JSON {items:[fund with facts{}], sort, dir, ...paging}"},{"name":"latest_filings","description":"Notices large investors file when they own 5% or more of a fund or company, newest first; filter by date, form type, closed-end funds, investor or ticker.","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/filings"},"input_schema":{"type":"object","properties":{"since":{"type":"string","format":"date"},"until":{"type":"string","format":"date"},"form":{"type":"string","enum":["SC 13D","SC 13D/A","SC 13G","SC 13G/A"]},"cef":{"type":"string","enum":["1"]},"activist":{"type":"string"},"issuer":{"type":"string","description":"ticker"},"page":{"type":"integer","minimum":1,"default":1},"per_page":{"type":"integer","minimum":1,"maximum":200,"default":50}}},"output":"JSON {items:[filing], ...paging}; filing has accession, form_type, filed_at, filer_name, subject_name, percent_of_class, shares, is_exit, edgar_url"},{"name":"get_filing","description":"One investor notice by its SEC document number (accession).","endpoint":{"method":"GET","url":"https://cefradar.com/api/v1/filings/{accession}"},"input_schema":{"type":"object","required":["accession"],"properties":{"accession":{"type":"string","pattern":"^\\d{10}-\\d{2}-\\d{6}$"}}},"output":"JSON filing with activist and issuer objects"}],"attribution":"Cite as 'CEF Radar (cef.dulinski.me), source SEC EDGAR'. Percent fields are 0-100.","mcp_url":"https://cefradar.com/mcp","transport":"streamable-http","developers_url":"https://cefradar.com/for-developers","mcp_tools":[{"name":"search_funds","description":"Finds a U.S. closed-end fund by its ticker, its name or the firm that runs it and returns up to 6 matches with a link to each fund's page, from SEC filings, with as-of dates and links to the original documents.","arguments":"query"},{"name":"get_fund","description":"Tells you, in plain words, whether a large investor is targeting a U.S. closed-end fund, whether the fund has announced something you must act on and by when, what it costs, how much it borrows, how big it is and what it holds, from SEC filings, with as-of dates and links to the original documents.","arguments":"ticker"},{"name":"get_fund_events","description":"Lists one closed-end fund's dated announcements a holder may need to act on (offers to buy back shares, shareholder votes, closings, mergers, offers of new shares, payout notices) with the deadline and what to do, from SEC filings, with as-of dates and links to the original documents.","arguments":"ticker, months (optional)"},{"name":"get_fund_holdings","description":"Describes what a closed-end fund holds - the mix by type of holding and country and its largest positions - from SEC filings, with as-of dates and links to the original documents.","arguments":"ticker"},{"name":"list_events","description":"Lists recent announcements across all U.S. closed-end funds (buy-back offers, votes, closings, mergers, offers of new shares, payout notices), newest first, each with the fund, the deadline and what to do, from SEC filings, with as-of dates and links to the original documents.","arguments":"kind (optional), since (optional), only_open (optional)"},{"name":"list_activists","description":"Lists the large investors we follow - those who buy into closed-end funds and sometimes push for changes - with how many funds each is in now and its newest move, from SEC filings, with as-of dates and links to the original documents.","arguments":"none"},{"name":"get_activist","description":"Describes one large investor in plain words: how many funds it is in and where it is pushing for changes, what it usually does, the funds it has left and its recent moves, from SEC filings, with as-of dates and links to the original documents.","arguments":"slug"},{"name":"latest_filings","description":"Lists the newest notices large investors filed about owning 5% or more of a fund (raised or cut a stake, may push for changes, passive, sold down), one plain sentence each, from SEC filings, with as-of dates and links to the original documents.","arguments":"days (optional), cef_only (optional)"},{"name":"which_funds_hold","description":"Lists every U.S. closed-end fund whose latest quarterly holdings report includes a company or bond you name (or its CUSIP or ISIN), with each fund's share of it and the report date, from SEC filings, with as-of dates and links to the original documents.","arguments":"query"}],"mcp_note":"Connect an assistant to mcp_url (Streamable HTTP, JSON-RPC 2.0 over POST, no session); its tools are the ones in mcp_tools. The `tools` list below is the plain JSON API (one GET each) for programs, not names the assistant server answers to."}