{"openapi":"3.1.0","info":{"title":"CRAN API","version":"1.0.0","description":"The R package ecosystem — CRAN, the Comprehensive R Archive Network — as an API. Look up any R package for its title, description, version, license, maintainer and author, homepage and bug-tracker links, and its full dependency tree (depends, imports, suggests, linkingTo); read a package's complete release history with publication dates; search the entire CRAN registry by keyword; and get download statistics (last day, week or month, with an optional daily series) straight from the official CRAN download logs. Covers the ~22,000 packages on CRAN, from ggplot2, dplyr and data.table to jsonlite, shiny and the wider tidyverse. Live from the official R-community services (crandb, search.r-pkg.org, cranlogs). Ideal for package dashboards, dependency and supply-chain tooling, data-science developer portals and R ecosystem analytics. Open data from CRAN.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/cran-api","description":"oanor gateway"}],"tags":[{"name":"CRAN"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/downloads":{"get":{"operationId":"get_v1_downloads","tags":["CRAN"],"summary":"Download statistics","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"R package name, e.g. ggplot2","schema":{"type":"string"},"example":"ggplot2"},{"name":"period","in":"query","required":false,"description":"last-day | last-week | last-month (default last-month)","schema":{"type":"string"}},{"name":"daily","in":"query","required":false,"description":"true to include a daily series","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"end":"2026-05-29","start":"2026-04-30","period":"last-month","package":"ggplot2","downloads":2227921},"meta":{"timestamp":"2026-05-31T12:34:39.015Z","request_id":"46ea87c9-a533-4e0b-919d-77399b244d0a"},"status":"ok","message":"Downloads retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/package":{"get":{"operationId":"get_v1_package","tags":["CRAN"],"summary":"Package metadata + dependencies + downloads","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"R package name (case-sensitive), e.g. ggplot2","schema":{"type":"string"},"example":"ggplot2"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"package":{"url":"https://ggplot2.tidyverse.org, https://github.com/tidyverse/ggplot2","name":"ggplot2","title":"Create Elegant Data Visualisations Using the Grammar of Graphics","author":"Hadley Wickham [aut] (ORCID: <https://orcid.org/0000-0003-4757-117X>), Winston Chang [aut] (ORCID: <https://orcid.org/0000-0002-1576-2126>), Lionel Henry [aut], Thomas Lin Pedersen [aut, cre] (ORCID: <https://orcid.org/0000-0002-5147-4711>), Kohske Takahashi [aut], Claus Wilke [aut] (ORCID: <https://orcid.org/0000-0002-7470-9261>), Kara Woo [aut] (ORCID: <https://orcid.org/0000-0002-5125-4188>), Hiroaki Yutani [aut] (ORCID: <https://orcid.org/0000-0002-3385-7233>), Dewey Dunnington [aut] (ORCID: <https://orcid.org/0000-0002-9415-4582>), Teun van den Brand [aut] (ORCID: <https://orcid.org/0000-0002-9335-7468>), Posit, PBC [cph, fnd] (ROR: <https://ror.org/03wc8by49>)","depends":[{"name":"R","constraint":">= 4.1"}],"imports":[{"name":"cli"},{"name":"grDevices"},{"name":"grid"},{"name":"gtable","constraint":">= 0.3.6"},{"name":"isoband"},{"name":"lifecycle","constraint":"> 1.0.1"},{"name":"rlang","constraint":">= 1.1.0"},{"name":"S7"},{"name":"scales","constraint":">= 1.4.0"},{"name":"stats"},{"name":"vctrs","constraint":">= 0.6.0"},{"name":"withr","constraint":">= 2.5.0"}],"license":"MIT + file LICENSE","version":"4.0.3","cran_url":"https://cran.r-project.org/package=ggplot2","suggests":[{"name":"broom"},{"name":"covr"},{"name":"dplyr"},{"name":"ggplot2movies"},{"name":"hexbin"},{"name":"Hmisc"},{"name":"hms"},{"name":"knitr"},{"name":"mapproj"},{"name":"maps"},{"name":"MASS"},{"name":"mgcv"},{"name":"multcomp"},{"name":"munsell"},{"name":"nlme"},{"name":"profvis"},{"name":"quantreg"},{"name":"quarto"},{"name":"ragg","constraint":">= 1.2.6"},{"name":"RColorBrewer"},{"name":"roxygen2"},{"name":"rpart"},{"name":"sf","constraint":">= 0.7-3"},{"name":"svglite","constraint":">= 2.1.2"},{"name":"testthat","constraint":">= 3.1.5"},{"name":"tibble"},{"name":"vdiffr","constraint":">= 1.0.6"},{"name":"xml2"}],"published":"2026-04-22 09:10:03 UTC","linking_to":[],"maintainer":"Thomas Lin Pedersen <thomas.pedersen@posit.co>","bug_reports":"https://github.com/tidyverse/ggplot2/issues","description":"A system for 'declaratively' creating graphics, based on \"The Grammar of Graphics\". You provide the data, tell 'ggplot2' how to map variables to aesthetics, what graphical primitives to use, and it takes care of the details.","needs_compilation":"no","downloads_last_month":2227921}},"meta":{"timestamp":"2026-05-31T12:34:39.588Z","request_id":"447900d2-2915-47ce-b616-f571b61de78b"},"status":"ok","message":"Package retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["CRAN"],"summary":"Search the CRAN registry","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Search term","schema":{"type":"string"},"example":"visualization"},{"name":"limit","in":"query","required":false,"description":"Results (1-100, default 20)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"query":"visualization","total":2506,"results":[{"name":"visualize","score":9.917457,"title":"Graph Probability Distributions with User Supplied Parameters and Statistics","version":"4.5.0","cran_url":"https://cran.r-project.org/package=visualize"},{"name":"bpmnVisualizationR","score":8.463383,"title":"Visualize Process Execution Data on 'BPMN' Diagrams","version":"0.5.0","cran_url":"https://cran.r-project.org/package=bpmnVisualizationR"},{"name":"ggcorrplot","score":6.373395,"title":"Visualization of a Correlation Matrix using 'ggplot2'","version":"0.1.4.1","cran_url":"https://cran.r-project.org/package=ggcorrplot"},{"name":"TDbook","score":6.373395,"title":"Companion Package for the Book \"Data Integration, Manipulation and Visualization of Phylogenetic Trees\" by Guangchuang Yu (2022, ISBN:9781032233574)","version":"0.0.6","cran_url":"https://cran.r-project.org/package=TDbook"},{"name":"klaR","score":4.9300623,"title":"Classification and Visualization","version":"1.7-4","cran_url":"https://cran.r-project.org/package=klaR"},{"name":"mlr3viz","score":4.9300623,"title":"Visualizations for 'mlr3'","version":"0.11.0","cran_url":"https://cran.r-project.org/package=mlr3viz"},{"name":"shapviz","score":4.9300623,"title":"SHAP Visualizations","version":"0.10.3","cran_url":"https://cran.r-project.org/package=shapviz"},{"name":"treemap","score":4.9300623,"title":"Treemap Visualization","version":"2.4-4","cran_url":"https://cran.r-project.org/package=treemap"},{"name":"antaresViz","score":4.9300623,"title":"Antares Visualizations","version":"0.18.3","cran_url":"https://cran.r-project.org/package=antaresViz"},{"name":"provViz","score":4.9300623,"title":"Provenance Visualizer","version":"1.0.9","cran_url":"https://cran.r-project.org/package=provViz"},{"name":"corrViz","score":4.9300623,"title":"Visualise Correlations","version":"0.1.0","cran_url":"https://cran.r-project.org/package=corrViz"},{"name":"ViSe","score":4.9300623,"title":"Visualizing Sensitivity","version":"0.1.3","cran_url":"https://cran.r-project.org/package=ViSe"},{"name":"circlize","score":4.9300623,"title":"Circular Visualization","version":"0.4.18","cran_url":"https://cran.r-project.org/package=circlize"},{"name":"fitbitViz","score":4.9300623,"title":"'Fitbit' Visualizations","version":"1.0.8","cran_url":"https://cran.r-project.org/package=fitbitViz"},{"name":"Spectran","score":4.8922606,"title":"Visual and Non-Visual Spectral Analysis of Light","version":"1.0.6","cran_url":"https://cran.r-project.org/package=Spectran"},{"name":"iheatmapr","score":4.5791817,"title":"Interactive, Complex Heatmaps","version":"0.7.1","cran_url":"https://cran.r-project.org/package=iheatmapr"},{"name":"statVisual","score":4.48176,"title":"Statistical Visualization Tools","version":"1.2.1","cran_url":"https://cran.r-project.org/package=statVisual"},{"name":"graphTweets","score":4.48176,"title":"Visualise Twitter Interactions","version":"0.5.3","cran_url":"https://cran.r-project.org/package=graphTweets"},{"name":"microhaplot","score":4.48176,"title":"Microhaplotype Constructor and Visualizer","version":"1.0.1","cran_url":"https://cran.r-project.org/package=microhaplot"},{"name":"plot.matrix","score":4.48176,"title":"Visualizes a Matrix as Heatmap","version":"1.6.2","cran_url":"https://cran.r-project.org/package=plot.matrix"}]},"meta":{"timestamp":"2026-05-31T12:34:40.160Z","request_id":"2da002ad-9579-45ef-a918-67a7c612c2ef"},"status":"ok","message":"Packages searched","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/versions":{"get":{"operationId":"get_v1_versions","tags":["CRAN"],"summary":"Full release history","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"R package name, e.g. jsonlite","schema":{"type":"string"},"example":"jsonlite"},{"name":"limit","in":"query","required":false,"description":"Max versions (1-500, default 50)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":46,"total":46,"latest":"2.0.0","package":"jsonlite","versions":[{"date":"2025-03-27 06:40:02 UTC","version":"2.0.0"},{"date":"2025-03-03 22:10:02 UTC","version":"1.9.1"},{"date":"2025-02-19 15:50:06 UTC","version":"1.9.0"},{"date":"2024-09-20 08:40:14 UTC","version":"1.8.9"},{"date":"2023-12-04 15:20:02 UTC","version":"1.8.8"},{"date":"2023-06-29 22:10:02 UTC","version":"1.8.7"},{"date":"2023-06-05 12:20:02 UTC","version":"1.8.5"},{"date":"2022-12-06 08:10:02 UTC","version":"1.8.4"},{"date":"2022-10-21 08:15:07 UTC","version":"1.8.3"},{"date":"2022-10-02 16:20:02 UTC","version":"1.8.2"},{"date":"2022-10-01 14:00:02 UTC","version":"1.8.1"},{"date":"2022-02-22 11:20:02 UTC","version":"1.8.0"},{"date":"2022-01-17 08:42:42 UTC","version":"1.7.3"},{"date":"2020-12-09 17:40:03 UTC","version":"1.7.2"},{"date":"2020-09-07 06:50:02 UTC","version":"1.7.1"},{"date":"2020-06-25 11:50:11 UTC","version":"1.7.0"},{"date":"2020-02-02 11:40:02 UTC","version":"1.6.1"},{"date":"2018-12-07 12:50:02 UTC","version":"1.6"},{"date":"2017-06-01 12:03:37 UTC","version":"1.5"},{"date":"2017-04-08 21:03:40 UTC","version":"1.4"},{"date":"2017-02-28 12:12:39","version":"1.3"},{"date":"2016-12-31 00:36:55","version":"1.2"},{"date":"2016-09-14 19:44:17","version":"1.1"},{"date":"2016-07-01 10:57:31","version":"1.0"},{"date":"2016-06-15 12:26:39","version":"0.9.22"},{"date":"2016-06-04 13:40:20","version":"0.9.21"},{"date":"2016-05-10 06:56:49","version":"0.9.20"},{"date":"2015-11-28 09:38:27","version":"0.9.19"},{"date":"2015-11-25 14:28:59","version":"0.9.18"},{"date":"2015-09-06 19:30:57","version":"0.9.17"},{"date":"2015-04-11 01:04:45","version":"0.9.16"},{"date":"2015-03-26 00:32:28","version":"0.9.15"},{"date":"2014-12-01 09:34:46","version":"0.9.14"},{"date":"2014-10-21 08:27:51","version":"0.9.13"},{"date":"2014-09-27 07:25:29","version":"0.9.12"},{"date":"2014-09-05 01:11:57","version":"0.9.11"},{"date":"2014-08-03 02:15:08","version":"0.9.10"},{"date":"2014-07-22 08:48:37","version":"0.9.9"},{"date":"2014-06-02 21:27:58","version":"0.9.8"},{"date":"2014-04-18 08:35:23","version":"0.9.7"},{"date":"2014-04-05 08:11:11","version":"0.9.6"},{"date":"2014-03-27 06:40:24","version":"0.9.5"},{"date":"2014-03-01 06:56:29","version":"0.9.4"},{"date":"2014-01-02 08:51:48","version":"0.9.3"},{"date":"2013-12-12 08:03:47","version":"0.9.1"},{"date":"2013-12-03 08:23:02","version":"0.9.0"}]},"meta":{"timestamp":"2026-05-31T12:34:40.261Z","request_id":"56750d3d-6ed1-4f14-acc8-5ac575db551c"},"status":"ok","message":"Versions retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Source & options","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Live CRAN registry data. /v1/package = metadata (title, description, license, maintainer, dependencies, last-month downloads); /v1/versions = full release history with dates; /v1/search = search the registry; /v1/downloads = download counts (add daily=true for a daily series). Package names are case-sensitive (e.g. ggplot2, jsonlite, Matrix).","source":"CRAN — the Comprehensive R Archive Network (the R package registry)","endpoints":["/v1/package","/v1/versions","/v1/search","/v1/downloads","/v1/meta"],"upstreams":{"search":"search.r-pkg.org","metadata":"crandb.r-pkg.org","downloads":"cranlogs.r-pkg.org"},"download_periods":["last-day","last-week","last-month"]},"meta":{"timestamp":"2026-05-31T12:34:40.332Z","request_id":"e88b3e5d-2f1a-4201-9b55-2389c1dc2db3"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":3550,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":425,"monthly_call_quota":48500,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1295,"monthly_call_quota":241000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3395,"monthly_call_quota":1205000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/cran-api"}