Accepted papers from 25 top ML, NLP, CV, robotics, security and SE venues, 2013–2026,
with citation counts, abstracts and oral / spotlight / findings labels.
Live app · Example usage · Quick start · Data format · Conferences · Commands
| Papers | Venues | Conference-years | Years | Total citations | With abstracts |
|---|---|---|---|---|---|
| 230K+ | 25 | 280+ | 2013–2026 | 18M+ | 87% |
Paper Explorer collects every accepted paper from the venues below, matches each one to Semantic Scholar for citations and abstracts (95% of papers matched), and publishes the result as a monthly GitHub release and a static web app. A scheduled pipeline picks up new accepted-paper lists as venues publish them and refreshes citation counts every month.
brightjade.github.io/paper-explorer needs no install:
- Top 100: the most cited papers across every venue, by year and field. Ranked by raw citations or age-adjusted, which compares each paper with the papers first made public in the same quarter, so a 2025 paper can stand next to a 2016 one.
- Conference pages: search titles, authors and keywords, filter by track (oral, spotlight, findings, ...), sort by citations, and download the list as JSONL.
- Author pages: an author's papers across every venue.
- Trends: paper counts, topics, citation impact and venue composition by year.
The repository ships a /survey skill for Claude Code. Describe a research idea and it searches the accepted papers in data/ (after Quick start) the way Asta or Undermind search, in rounds: many phrasings through a ranked search index, every candidate judged against criteria it writes down, new phrasings and citation chasing from the relevant papers, and a stop once new finds dry up. It checks an idea's novelty, drafts a paper's related work, or maps a new field, and every paper it cites shows where it was accepted (ICLR 2025 · oral · Outstanding Paper). Hand it a paper list from Asta, Undermind or a web search and it marks which are accepted papers and adds the accepted ones the list missed. Papers from outside these venues (web search, citation chasing) are marked as such.
/survey Is there work on unlearning specific facts from LLMs without retraining?
/survey Related work for my paper on speculative decoding and early-exit inference,
NLP and ML venues from 2023 on.
/survey What papers exist on 3D object detection from point clouds?
The report and its working files (criteria, every judged paper, a search log) are saved under outputs/<topic>_<timestamp>/.
Each conference is one JSONL file, so the standard library is enough:
import json
from pathlib import Path
# The five most cited ICLR 2025 orals
papers = [json.loads(line) for line in open("data/iclr/2025.jsonl")]
orals = [p for p in papers if p["selection"] == "oral"]
for p in sorted(orals, key=lambda p: p.get("citation_count", 0), reverse=True)[:5]:
print(p.get("citation_count", 0), p["title"])
# Every 2024-2025 paper on unlearning, across all venues
for path in Path("data").glob("*/202[45].jsonl"):
for line in path.open():
p = json.loads(line)
if "unlearning" in (p["title"] + " " + p.get("abstract", "")).lower():
print(path.parent.name, path.stem, p.get("citation_count", 0), p["title"])You need uv, which installs Python 3.13 for you.
git clone https://github.com/brightjade/paper-explorer.git
cd paper-explorer
uv sync # install dependencies
uv run python -m scripts.sync_data # download the newest data release (~160 MB) into data/Run sync_data again whenever you want the latest monthly release. It does nothing when data/ is already current, and refuses to overwrite a data/ it did not install or that you have changed (--force overrides). Without Python, ./setup.sh downloads and unzips the same release with gh or curl; ./setup.sh data-YYYY-MM-DD fetches a specific one.
To crawl venues yourself, set up credentials:
cp .env.example .env # then fill it inOPENREVIEW_USERNAME/OPENREVIEW_PASSWORD: a free OpenReview account, needed only for ICLR, NeurIPS, ICML, COLM, CoRL and TMLR. Every other venue is read from public pages without auth.SEMANTIC_SCHOLAR_API_KEY(optional): an API key raises the rate limitsppr enrichandppr search citesrun under.
data/
├── iclr/
│ ├── 2025.jsonl # one paper per line: crawl + Semantic Scholar metadata, sorted by citation count
│ └── awards.json # {"2025": [...], ...}: the venue's paper awards by year
├── pipeline_state.json
└── citation_updated.txt
A conference ID is <venue>_<year>, with the venue IDs listed under Conferences: iclr_2025, emnlp_2024, usenix_security_2023. Each line of data/<venue>/<year>.jsonl is one paper; empty fields are left out.
| Field | Meaning |
|---|---|
title, authors, link |
As the venue lists them; link is the paper page, PDF or DOI |
selection |
The track: oral, spotlight, poster, main, findings, industry, ... |
abstract, tldr, keywords |
Abstract (from the venue where it lists one, else Semantic Scholar), Semantic Scholar's one-line TL;DR, and keywords where the venue lists them |
citation_count, influential_citation_count, reference_count |
From Semantic Scholar, refreshed monthly |
publication_date, fields_of_study, open_access_pdf |
From Semantic Scholar |
external_ids |
CorpusId, DOI, ArXiv, DBLP, ACL, ... |
abstract_source |
"s2" when Semantic Scholar supplied the abstract; absent when it came from the venue's own listing (e.g. OpenReview) |
forum_id |
OpenReview forum ID, for OpenReview venues |
venue_date |
TMLR only: the date TMLR published the paper |
match_status |
How the paper was bound to its Semantic Scholar record: matched, matched_fuzzy, not_found, ... |
ID is the venue part of a conference ID. Tracks lists every label the venue's papers carry across its years.
| Field | Venue | ID | Years | Tracks |
|---|---|---|---|---|
| ML | NeurIPS | neurips |
2013–2025 | oral, spotlight, poster, main, datasets |
| ICML | icml |
2013–2026 | oral, spotlight, poster, main | |
| ICLR | iclr |
2013–2026 | oral, spotlight, poster, main | |
| TMLR | tmlr |
2022–2026 | main | |
| AAAI | aaai |
2013–2026 | main | |
| IJCAI | ijcai |
2013, 2015–2026 | main | |
| NLP | ACL | acl |
2013–2026 | main, findings, industry |
| EMNLP | emnlp |
2013–2025 | main, findings, industry | |
| NAACL | naacl |
2013, 2015–2016, 2018–2019, 2021–2022, 2024–2025 | main, findings, industry | |
| COLM | colm |
2024–2026 | main | |
| EACL | eacl |
2014, 2017, 2021, 2023–2024, 2026 | main, findings, industry | |
| COLING | coling |
2014, 2016, 2018, 2020, 2022, 2024–2025 | main, industry | |
| CV | CVPR | cvpr |
2013–2026 | main |
| ICCV | iccv |
2013–2025 (odd years) | main | |
| ECCV | eccv |
2014–2024 (even years) | main | |
| WACV | wacv |
2013–2026 | main | |
| Robotics | RSS | rss |
2013–2026 | main |
| CoRL | corl |
2017–2026 | oral, spotlight, poster, main | |
| ICRA | icra |
2013–2026 | main | |
| IROS | iros |
2013–2025 | main | |
| SE | ICSE | icse |
2013–2026 | main |
| FSE | fse |
2013–2026 | main | |
| ASE | ase |
2013–2026 | main | |
| ISSTA | issta |
2013–2026 | main | |
| Security | USENIX Security | usenix_security |
2013–2026 | main |
A missing year is one the venue was not held, or whose accepted-paper list is not out yet; the monthly pipeline adds it when it appears.
Notes on tracks and scope
- Tracks.
oral,spotlightandposterare presentation types;main,findingsandindustryare proceedings volumes. A year whose venue does not publish presentation types labels every papermain, so filtering, say, ICLR 2015 or NeurIPS 2022 for orals finds none. - NeurIPS Datasets & Benchmarks papers are
datasetsin 2021–2022 anddatasets_oral,datasets_spotlightordatasets_posterfrom 2023. - TMLR is a journal: a paper's year is the year TMLR published it, and the current year grows every month.
- Software engineering venues cover the research track only from 2023. For 2013–2022, FSE and ASE (and ICSE 2013) include every track, so their counts run higher than a research-track-only list would.
- AAAI 2013–2022 includes student abstracts and demos, which 2023 on leaves out.
Every command runs as uv run ppr <command>; --help on any of them lists all options.
# Build the data
uv run ppr crawl iclr_2025 neurips_2025 # fetch accepted papers -> data/<venue>/<year>.jsonl
uv run ppr enrich iclr_2025 neurips_2025 # add Semantic Scholar metadata in place
uv run ppr enrich --all --time-budget 4h # refresh every conference in data/ within a time budget
uv run ppr awards neurips_2024 # collect paper awards -> data/<venue>/awards.json
uv run ppr awards --all --all-years # every venue-year, including the final older ones
uv run ppr validate iclr_2025 # compare paper counts with DBLP (10% tolerance)
uv run ppr search find "machine unlearning" "data deletion" --abstract # ranked search over data/ (the first search builds a ~720 MB index in .cache/, rebuilt when data/ changes)
uv run ppr search lookup 2303.07345 "Certified Data Removal from Machine Learning Models" # is it an accepted paper?
uv run ppr search cites icml_2020:16b4e084 --abstract # references and citations, in and outside the dataset
# Keep it current (what the monthly pipeline runs)
uv run ppr discover # which tracked venues have a list we don't have yet
uv run ppr discover --json > discover.json
uv run ppr autoregister discover.json --report register.json # register, crawl and check each new venue
uv run ppr rolling # recrawl TMLR without dropping a paper already on disk
uv run ppr release --base-tag data-YYYY-MM-DD --dry-run # plan a data release (maintainers)
# Run the web app locally (http://localhost:5173/paper-explorer/)
./build.sh # data/ -> web/public/data/
cd web && npm install && npm run devEvery enrich run retries the papers no earlier run could match, since Semantic Scholar indexes a venue months after it is crawled, and re-checks each match against the record's title and authors. Conferences four or more years old are refreshed once a quarter, from IDs alone.
- Crawl each venue from where its accepted-paper list lives: the OpenReview API, conference and proceedings sites (ACL, AAAI, CVF, ECVA, USENIX, IJCAI, conf.researchr.org, roboticsproceedings.org), Crossref and DBLP.
- Enrich every paper from Semantic Scholar, by ID where the crawl has one and by title otherwise, checking authors before accepting a title match.
- Publish
data/as adata-YYYY-MM-DDGitHub release and rebuild the web app from it.
.github/workflows/monthly.yml runs all three on the 3rd of every month, after discovering and registering any newly published venue-years. A venue that needs a human (a new layout, a count that looks wrong) is held and reported in a GitHub issue rather than published.
uv sync
uv run pytest tests/ # Python tests
node tests/workflow/monthly-workflow.test.js # tests for the workflow's issue stepThe web app (React + TypeScript + Vite) is documented in web/README.md. Issues and pull requests are welcome, including requests for a venue.
If Paper Explorer helps your research, please cite it:
@misc{choi2026paperexplorer,
author = {Choi, Minseok},
title = {Paper Explorer: Accepted Papers and Citations from Top {AI} Venues},
year = {2026},
howpublished = {\url{https://github.com/brightjade/paper-explorer}}
}Paper metadata comes from OpenReview, Semantic Scholar, DBLP, ACL Anthology, CVF Open Access, ECVA, Crossref and the venues' own websites, and remains subject to their terms. The code is released under the MIT License.