{"name":"OpenApps","about":"What is listed, ranked, featured and launched in the ChatGPT, Claude, Cursor and Grok Bot app stores, and the tools of the MCP servers their apps link to. Read-only, public, no key.","attribution":"Data: OpenApps (https://theopenapps.com), dated by meta.as_of.","urls":{"api":"https://theopenapps.com/v1","openapi":"https://theopenapps.com/v1/openapi.json","mcp":"https://theopenapps.com/mcp","llms":"https://theopenapps.com/llms.txt"},"auth":"Public reads need no key. Optional: Authorization: Bearer <API key> or OAuth with catalog:read; OAuth tokens are bound to /mcp or /v1. Keys: /account/keys. Discovery: /.well-known/oauth-authorization-server.","plans":"No key: the United States, the top 100 rows of a list, 30 days of ranks and launches, 7 of changes, featuring and movers. A free account's key: every country, 500 rows of a list, 30 days back. Pro: every row and the full history, and several apps at once. meta.plan says what a plan left out.","rate_limits":{"rest":"no key 60/min per IP (the United States, the top 100 rows of a list, 30 days of ranks and launches, 7 of changes, featuring and movers); with an account (free key, OAuth connection or session) 600/min (every country, 500 rows of a list, 30 days back); Pro the same rate, with every row and the full history","mcp":"tools/call and prompts/get have the same limits as REST, counted separately: 60/min per IP without a key, 600/min per account with one"},"responses":"GET; arrays comma-separated. 200: { data, meta } (meta.as_of: the date the data refers to; meta.basis: output path to basis; meta.next_cursor). 400/403 plan_required (need)/404/429 (Retry-After)/500: { error: { code, message, param?, allowed?, nearest?, need? } }. cache tag in each operation line: data, an answer stands until the store's data changes; data_or_tools, until that or an MCP server's tools change; day, until the UTC day changes; none, not cached.","stores":[{"store":"chatgpt","regions":["us","tr","gb","de","fr","es","it","nl","jp","br","ca","au","mx","al","ar","at","be","bg","ch","cl","co","cz","dk","ee","fi","gr","hr","hu","id","ie","il","my","ng","no","nz","pe","ph","pl","pt","ro","rs","se","sg","si","sk","th","ua","za"],"metrics":{}},{"store":"claude","regions":["global"],"metrics":{"installs":{"unit":"installs","basis":"store_reported","source":"claude-plugins-official install stats"},"popularity_score":{"unit":"score","basis":"store_reported","source":"Anthropic directory API"},"trending_score":{"unit":"score","basis":"store_reported","source":"Anthropic directory API"},"popularity_rank":{"unit":"rank","basis":"store_reported","source":"Anthropic directory API"},"gh_stars":{"unit":"GitHub stars, whole repository","basis":"proxy","source":"GitHub, the listing's repository"},"gh_forks":{"unit":"GitHub forks, whole repository","basis":"proxy","source":"GitHub, the listing's repository"}}},{"store":"cursor","regions":["global","directory"],"metrics":{"dir_installs":{"unit":"installs","basis":"store_reported","source":"cursor.directory"},"dir_installs_30d":{"unit":"installs, last 30 days","basis":"store_reported","source":"cursor.directory"},"dir_stars":{"unit":"stars","basis":"store_reported","source":"cursor.directory"}}},{"store":"grokbot","regions":["global"],"metrics":{}}],"bases":{"observed":"seen in the store or in a tools/list answer","store_reported":"a number the store publishes","derived":"computed by OpenApps, e.g. movement or launch dates","proxy":"stands in for another quantity, e.g. a repository's GitHub stars","estimate":"modelled by OpenApps"},"params":{"store":{"type":"string","enum":["chatgpt","claude","cursor","grokbot"],"description":"App store."},"region":{"type":"string","description":"ChatGPT country code (us, de…), global, or directory (Cursor). Default: main catalog."},"since":{"type":"string","default":"-24h","description":"Start of the window: ISO-8601, or relative to the latest data (-24h, -7d)."},"apps":{"type":"string[]","description":"1 to 10 app refs or OpenApps app URLs."},"types":{"type":"string[]","enum":["rank_move","chart_enter","chart_exit","featuring_enter","featuring_exit","launch","toolset_change","listing_change","release_change","mcp_status_change","delisted","metric_change"],"description":"Event types to keep. Default: all but release_change."},"limit":{"type":"integer","default":20,"maximum":10000,"description":"Rows per page."},"cursor":{"type":"string","description":"The previous page's meta.next_cursor."},"chart":{"type":"string","description":"Chart name as stores lists it, e.g. category:productivity, popularity, directory:top."},"window":{"type":"string","enum":["1d","7d"],"description":"Movement against the previous day (1d) or a week earlier (7d)."},"max_position":{"type":"integer","maximum":10000,"description":"Only rows at or above this position now (1-based)."},"kinds":{"type":"string[]","enum":["app","connector","plugin","desktop_extension","directory_rule","directory_mcp","chatgpt:apps_sdk","chatgpt:connector","chatgpt:plugin","chatgpt:curated","chatgpt:other","claude:connector","claude:plugin","claude:desktop_extension","cursor:plugin","cursor:directory_rule","cursor:directory_mcp","grokbot:plugin"],"description":"App kinds, bare (connector) or store-qualified (claude:connector, chatgpt:apps_sdk); a value qualified by another store is ignored."},"at":{"type":"string","description":"A past time (ISO-8601, -24h, -7d): the latest data at that time. Default: now."},"app":{"type":"string","description":"App ref '{store}:{plugin_id|slug}' (e.g. chatgpt:figma) or an OpenApps app URL."},"metric":{"type":"string","description":"Metric name as the stores resource lists it, e.g. installs (Claude), dir_installs (Cursor)."},"sort":{"type":"string","enum":["released_at","first_seen_at"],"default":"released_at","description":"Newest first by this time; since bounds it."},"category":{"type":"string","description":"Category title as rows show it, e.g. Productivity (new_list: ChatGPT only)."},"kind":{"type":"string","enum":["app","connector","plugin","desktop_extension","directory_rule","directory_mcp"],"description":"App kind; stores lists each store's kinds."},"query":{"type":"string","description":"Words to find in app names, descriptions and publishers."},"publisher":{"type":"string","description":"Only apps by this publisher, named in any form (Figma, Inc. or figma)."},"stores":{"type":"string[]","enum":["chatgpt","claude","cursor","grokbot"],"description":"App stores."},"families":{"type":"string[]","description":"ChatGPT app families, e.g. plugin_asdk_app."},"categories":{"type":"string[]","description":"Category titles as rows show them."},"publishers":{"type":"string[]","description":"Publisher keys (publishers_list) or names."},"tags":{"type":"string[]","description":"Tag ids from tags_tree."},"exclude":{"type":"string[]","description":"Tag ids to leave out."},"match":{"type":"string","enum":["all","any"],"default":"all","description":"all: every tag in tags; any: at least one."},"linked":{"type":"string[]","enum":["chatgpt","claude","cursor","grokbot"],"description":"Stores the app's product is also in."},"statuses":{"type":"string[]","enum":["open","auth","blocked","dead","error"],"description":"MCP server statuses: open, auth, blocked, dead or error."},"availability":{"type":"string","enum":["all","missing"],"description":"ChatGPT: all, listed in every country with data; missing, absent from some."},"released_since":{"type":"string","description":"Only apps released since: ISO-8601, or relative to the latest data (-30d)."},"scope":{"type":"string","enum":["tags"],"description":"tags: browsing by tag."},"sort_by":{"type":"string","enum":["rank","new","name"],"default":"rank","description":"rank: best chart place; new: newest release; name: A to Z."},"plugin_id":{"type":"string","description":"The app's id in its store, e.g. plugin_01abc; {store}:{plugin_id} is its ref."},"from":{"type":"string","description":"Range start: ISO-8601, or relative to to (-30d)."},"to":{"type":"string","description":"Range end, a past time. Default: the latest data."},"order":{"type":"string","enum":["apps","rank"],"default":"apps","description":"apps: most apps first; rank: best chart position first."},"key":{"type":"string","description":"Publisher key from publishers_list (e.g. figma), or a name it lists under (Figma, Inc.)."},"product":{"type":"string","description":"A product's slug (e.g. context7), or an app ref of one of its apps."},"tag":{"type":"string","description":"Tag id from tags_tree, e.g. gmail."},"server":{"type":"string","description":"MCP server URL as an app's tools list it, or its OpenApps id."},"diff_from":{"type":"string","description":"An earlier toolset to diff against: snapshot hash or time (ISO-8601, -7d)."},"status":{"type":"string","enum":["open","auth","blocked","dead","error"],"description":"MCP server status: open (lists its tools without a sign-in), auth, blocked, dead or error."}},"operations":{"changes_list":"GET /v1/changes?store*&region&since&apps&types&limit&cursor (data_or_tools) A store's changes: ranks, featuring, launches, listings, releases, MCP tools and status, delistings, metrics. e.g. /v1/changes?store=chatgpt","movers_list":"GET /v1/movers/{store}?chart&window&max_position&kinds (data) What moved in a store's latest data: rank movers in its lead charts, featured-list entries and exits, metric changes. e.g. /v1/movers/chatgpt","stores_get":"GET /v1/stores?store (data) The app stores OpenApps tracks: listings per kind, regions, charts and metrics. e.g. /v1/stores","freshness_get":"GET /v1/freshness?region (none) Our own service monitoring: each store's data status and open issues. It may change. e.g. /v1/freshness","charts_get":"GET /v1/charts/{store}/{chart}?region&at&kinds&limit&cursor (data) One store chart now or at a past time, with each app's rank change vs the previous day. e.g. /v1/charts/claude/popularity","charts_regions_get":"GET /v1/charts/{store}/{chart}/regions?limit (data) One ChatGPT chart in every country at once: the top apps of the US list with each app's position per country. e.g. /v1/charts/chatgpt/category%3Aproductivity/regions","featuring_get":"GET /v1/featuring/{store}?region (data) Every hand-picked section of a store's home page now, each with its apps and their recent movement. e.g. /v1/featuring/chatgpt","featuring_history":"GET /v1/featuring/{store}/history?app&chart&region&since&at&limit&cursor (data) Featuring intervals per app or shelf, including apps that have left, over a bounded window. e.g. /v1/featuring/chatgpt/history?chart=home%3Afeatured&region=us","leaderboards_get":"GET /v1/leaderboards/{store}/{metric}?kinds&limit&cursor (data) A store's apps ranked by one metric, labelled by its source basis, such as installs, with the value each replaced. e.g. /v1/leaderboards/claude/installs?limit=10","new_list":"GET /v1/new?store*&since&sort&limit&cursor&category&kind (data) A store's apps launched since a time, newest first, by the store's launch date or else the day the app went live. e.g. /v1/new?store=chatgpt&since=-7d","apps_search":"GET /v1/apps?query*&publisher&store&kind&limit&cursor (data) Apps whose name, description or publisher contains the query: exact names first, then names starting with it. e.g. /v1/apps?query=notion","apps_list":"GET /v1/apps/list?stores&kinds&families&categories&publishers&tags&exclude&match&linked&statuses&availability&released_since&query&scope&sort_by&limit&cursor (data_or_tools) Apps by store, kind, category, publisher, tags, MCP status, other stores and release; best ranked, newest or A to Z. e.g. /v1/apps/list","apps_get":"GET /v1/apps/{store}/{plugin_id}?apps (data) One app's listing: name, kind, publisher, description, launch and go-live dates, and its other listings in the store. e.g. /v1/apps/claude/plugin_01E5qTAcHfq3r1UJ8Zxgzjae","apps_ranks_current":"GET /v1/apps/{store}/{plugin_id}/ranks/current (data) Every chart an app is in now: best position and region, position in the main region, and how many regions list it. e.g. /v1/apps/chatgpt/plugin_asdk_app_69c18c28f1188191bf5b8445c4ab0a2e/ranks/current","apps_ranks_history":"GET /v1/apps/{store}/{plugin_id}/ranks?apps&from&to (data) Rank series of every chart an app is in now: 14 days or from-to in the chart's home region, the latest elsewhere. e.g. /v1/apps/chatgpt/plugin_asdk_app_69c18c28f1188191bf5b8445c4ab0a2e/ranks","apps_metrics":"GET /v1/apps/{store}/{plugin_id}/metrics (data) An app's latest value of each metric the store publishes, with the value it replaced. Each metric carries its own basis. e.g. /v1/apps/claude/plugin_01E5qTAcHfq3r1UJ8Zxgzjae/metrics","apps_tools":"GET /v1/apps/{store}/{plugin_id}/tools (data_or_tools) The MCP servers an app links to, each with its latest tool list. e.g. /v1/apps/claude/plugin_017oWX9xDRL2TsTP3jVw6bEJ/tools","apps_versions":"GET /v1/apps/{store}/{plugin_id}/versions (data) Every version of an app's store listing and of its detail record, oldest first, each with its date. e.g. /v1/apps/chatgpt/plugin_asdk_app_69c18c28f1188191bf5b8445c4ab0a2e/versions","publishers_list":"GET /v1/publishers?store&order&limit&cursor (data) Publishers across stores, one per publisher key: apps per store, and their app with the best chart place now. e.g. /v1/publishers","publishers_get":"GET /v1/publishers/{key} (data) One publisher's apps in every store, each with its category and best chart place now, and the products they belong to. e.g. /v1/publishers/context7","products_get":"GET /v1/products/{product} (data) One product's apps across stores: each one's name, kind, publisher, category and best chart place now. e.g. /v1/products/context7","products_list":"GET /v1/products?query&limit (data) Products listed in more than one store or kind, by name: each one's slug and stores. e.g. /v1/products?query=notion","tags_tree":"GET /v1/tags?store&kinds (data_or_tools) Every tag with its facet and parent, and how many apps carry it in each store. e.g. /v1/tags","tags_get":"GET /v1/tags/{tag}?store&kinds&limit (data_or_tools) One tag: its path, narrower tags, counts per store, each store's best-ranked apps with it and related tags. e.g. /v1/tags/notion","market_get":"GET /v1/market?store (day) Each store's size and shape: apps per kind, weekly launches over a year, list sizes, and open MCP toolset statistics. e.g. /v1/market","mcp_toolset_get":"GET /v1/mcp/toolsets?app&server&at&diff_from (data_or_tools) An MCP server's tools at a time, or what changed between two of its toolset versions: tools added, removed and changed. e.g. /v1/mcp/toolsets?server=https%3A%2F%2Fmcp.context7.com%2Fmcp","mcp_servers_list":"GET /v1/mcp/servers?status&store&limit&cursor (data_or_tools) The remote MCP servers that store listings link to, open ones first, with tool counts and the apps that link each. e.g. /v1/mcp/servers?status=open","mcp_servers_get":"GET /v1/mcp/servers/{server} (data_or_tools) One MCP server: its status, the apps that link to it, its latest toolset with every tool, and its toolset history. e.g. /v1/mcp/servers/https%3A%2F%2Fmcp.context7.com%2Fmcp","scores_list":"GET /v1/scores/{store}?chart&limit&cursor (data) A store's apps by OpenApps Rank: a 28-day aggregate of every chart that orders by popularity, with tier and momentum. e.g. /v1/scores/chatgpt?limit=10","scores_get":"GET /v1/scores/{store}/{plugin_id} (data) One app's OpenApps Rank figures, its rank on each chart it is on, and its daily score and rank series. e.g. /v1/scores/claude/plugin_01E5qTAcHfq3r1UJ8Zxgzjae","scores_methods":"GET /v1/scores (data) How OpenApps Rank is computed, which version is published, and how well each version agrees with published counts. e.g. /v1/scores"},"tools":{"changes_list":["changes_list"],"new_list":["new_list"],"stores_get":["stores_get"],"charts_get":["charts_get"],"leaderboards_get":["leaderboards_get"],"scores_list":["scores_list"],"apps_search":["apps_search"],"featuring_history":["featuring_history"],"apps_profile":["apps_get","apps_ranks_current","apps_metrics","apps_tools"],"mcp_toolset_get":["mcp_toolset_get"],"market_get":["market_get"],"search":["apps_search","stores_get","mcp_toolset_get"],"fetch":["apps_get","apps_ranks_current","apps_metrics","apps_tools","charts_get","mcp_toolset_get"]}}