How to Cite a Dataset, Software, and Code in APA 7 and Vancouver (2026)
Your methodology chapter lists every questionnaire, interview, and experimental procedure — yet the datasets you downloaded, the statistical software you ran, and the analysis scripts you wrote often appear without a single reference. That omission matters. Examiners, reviewers, and future researchers cannot evaluate or reproduce your work if they cannot retrieve the exact data and code you used. Knowing how to cite a dataset and software correctly is no longer optional: journals, funding bodies, and universities are increasingly checking for it.
This guide covers everything you need: the official APA 7 format (Section 10.9 of the Publication Manual) and Vancouver/ICMJE format for datasets, software and apps, and code hosted on GitHub or Zenodo. For each type you get a named template, at least two worked examples, and notes on when to use a DOI versus a URL plus commit SHA.
[Data set], [Computer software], or [Data set and code book], followed by the repository name and a DOI or URL. In Vancouver, use a numbered superscript with the creator, name, version, repository, year, and URL/DOI in the reference list. Always include a version number or commit SHA to guarantee reproducibility.
Why Citing Data and Software Matters
Scientific reproducibility depends on readers being able to access not just your published paper but the underlying inputs. When you cite a dataset, you give credit to the researchers who collected and curated it — work that can represent years of effort. When you cite software, you enable reviewers to identify whether version differences could explain divergent results. When you cite code, you allow others to audit your analysis and build on it.
Beyond reproducibility, there are practical consequences. Many major funders — including the UKRI, NIH, and the European Research Council — now mandate software citation and open data in grant terms. Journals in medicine, psychology, and the social sciences increasingly check reference lists during peer review. University examination guidelines at institutions including UCL, Edinburgh, and Monash explicitly require that analysis software be cited in the methods section. You can read more about data sharing mandates in the companion article on research data sharing statistics for 2026. For the complementary question of which reference managers handle dataset and software citations most effectively, see our comparison of the best AI reference managers in 2026.
The good news: once you understand the three-part logic — who made it, what it is, where to find the exact version you used — the formats follow naturally.
How to Cite a Dataset in APA 7 (Step by Step)
Dataset citations are governed by APA 7 Section 10.9, introduced in the seventh edition and not present in APA 6. The key innovation is the bracketed descriptor immediately after the title, which signals to readers that the source is a dataset rather than a journal article or book.
APA 7 Dataset Template
Follow these numbered steps for each dataset you cite:
- List the creator(s). Format names as you would for a journal article: surname, initials. For six or more authors, list the first twenty and abbreviate with an ellipsis before the final name.
- Record the year of deposit or publication. Use the year the version you accessed was published; if there is no year, use
(n.d.). - Italicise the dataset title. Use sentence case (capitalise only the first word and proper nouns).
- Add the identifier and version in parentheses, if available. Repositories such as ICPSR provide accession numbers (e.g., ICPSR 36966); Zenodo and Figshare provide version numbers (e.g., Version V2). Separate them with a semicolon inside the parentheses.
- Insert the bracketed descriptor. Use
[Data set]for data only, or[Data set and code book]if the repository item bundles data with supporting documentation. Do not italicise the brackets. - Name the repository or publisher. Common examples: UK Data Service, ICPSR, Zenodo, Figshare, OSF, Harvard Dataverse, re3data.
- Add the DOI as a hyperlink. Format it as
https://doi.org/followed by the DOI suffix. If no DOI is available, use the direct URL to the dataset landing page.
Worked Examples — APA 7 Datasets
Example 1 — Large survey dataset with accession number:
Example 2 — Zenodo dataset with version number:
Example 3 — Dataset without a DOI (use URL):
In-text citation format: Parenthetical: (O’Donohue, 2017). Narrative: O’Donohue (2017) provides data suggesting…
How to Cite Software and Apps in APA 7
Software citations in APA 7 use the same logic as dataset citations, with one key difference: the bracketed descriptor becomes [Computer software]. This applies to statistical packages (SPSS, R, STATA, jamovi), dedicated analysis tools (ATLAS.ti, NVivo, MAXQDA), and standalone apps.
APA 7 Software Template
- Author or organisation. For commercial software, the company name often serves as both author and publisher. For open-source software, list the primary author(s) or maintainer(s) as credited on the project’s official site or release notes.
- Year of the version you used. Use the year of the specific version, not the year the software was first released.
- Software name in italics. Use the official product name and capitalise as the publisher does.
- Version number in parentheses. Always record the version you installed. This is critical: statistical software updates algorithms between versions, and a result from SPSS 29.0 may differ from one produced in SPSS 27.0.
- Insert
[Computer software]. - Publisher or developer. For proprietary software, this is the company (e.g., IBM, SAS Institute). For open-source, it may be the R Foundation, a university, or a named group.
- DOI or URL. Provide the software’s official DOI if one exists. If not, provide the URL to the official download or product page.
Worked Examples — APA 7 Software
Example 1 — SPSS (commercial):
Example 2 — R (open-source, cite the language itself):
Example 3 — NVivo (qualitative analysis software):
Example 4 — Python (cite using the PSF page):
Note that when you also use specific Python packages (e.g., pandas, NumPy, scikit-learn), those packages should each receive their own reference entry, citing the version you installed. Most packages publish a DOI via Zenodo or include a recommended citation in their documentation.
How to Cite Code (GitHub / Zenodo) in APA 7
Code you wrote yourself (your analysis scripts, processing pipelines) and code you used from others both require citation. The preferred approach is to archive the code in Zenodo, which issues a citable DOI for each tagged release, then cite that DOI. GitHub repositories that lack a DOI can still be cited, but you must supply enough information for readers to retrieve the exact state of the code.
Step-by-Step: Archiving Your Own Code on Zenodo for a DOI
- Connect your GitHub account to zenodo.org.
- Enable the repository you want to archive from the Zenodo GitHub settings page.
- Create a new release on GitHub (e.g., v1.0.0). Zenodo will automatically archive the release and mint a DOI.
- Copy the DOI from your Zenodo record and use it in your reference list.
- Optionally, add a
CITATION.cfffile to the repository root. GitHub will display a “Cite this repository” button, and tools such as Zotero can import the citation metadata automatically.
APA 7 Code Template (with DOI)
APA 7 Code Template (GitHub, no DOI)
Worked Examples — APA 7 Code
Example 1 — Code archived on Zenodo (DOI available):
Example 2 — GitHub repository, specific version tag:
Example 3 — Citing a specific commit (no version tag):
When citing a specific commit, construct the URL using /tree/commit-SHA so that readers land on the exact snapshot of the repository you used.
How to Cite a Dataset in Vancouver Style
Vancouver (ICMJE) style is the dominant citation format in medicine, nursing, pharmacology, and many life sciences. It uses numbered in-text superscripts or bracketed numbers, matched to a numbered reference list in order of appearance. Dataset citations follow the same numbered structure.
Vancouver Dataset Template
Key formatting differences from APA:
- Author names use surname followed by initials with no punctuation (e.g.,
Smith JA). - The year appears after the publisher/repository, not immediately after the author.
- Include a
[cited YYYY Mon DD]access date for online datasets — important for materials that may be updated. - The bracketed descriptor goes after the title (e.g.,
[dataset]or[data set]— conventions vary slightly by journal; follow your target journal’s author guidelines).
Worked Examples — Vancouver Datasets
Example 1 — Zenodo dataset:
Example 2 — Government statistical dataset:
In-text format: Superscript number, e.g. “…as shown in the population survey.1“
How to Cite Software and Code in Vancouver Style
Vancouver Software Template
Worked Examples — Vancouver Software
Example 1 — SPSS:
Example 2 — R (open-source):
Example 3 — Code on Zenodo:
Side-by-Side Comparison Table
The table below summarises the key structural differences between APA 7 and Vancouver for the three source types.
APA 7 vs Vancouver: Dataset, Software & Code Citation Structures
| Feature | APA 7 | Vancouver / ICMJE |
|---|---|---|
| In-text citation | Author–year (Smith, 2024) | Superscript or bracketed number [1] |
| Year position | After author(s) | After publisher/repository |
| Title format | Italicised, sentence case | Italicised (conventions vary) |
| Bracketed descriptor | [Data set] / [Computer software] | [dataset] / [software] (lowercase common) |
| Access date required | Not required (but recommended for no-DOI URLs) | Required for online resources |
| Reference list order | Alphabetical by first author | Order of first citation in text |
| Author name format | Surname, Initials (Smith, J. A.) | Surname Initials no punctuation (Smith JA) |
| Version number | In parentheses after title | Stated after [software/dataset] descriptor |
Based on APA Publication Manual 7th edition Section 10.9 and ICMJE Recommendations (2023 update).
DOIs, URLs, and Persistent Identifiers
A DOI (Digital Object Identifier) is a persistent link that will resolve to a resource even if its hosting URL changes. For datasets and code, DOIs are strongly preferred over raw URLs for exactly this reason. You can learn more about how DOIs work and how to find them in the dedicated guide What Is a DOI and How Do They Work?
When a DOI is available, use it rather than the URL in both APA 7 and Vancouver. Format it as https://doi.org/ followed by the DOI string — do not use the older doi: prefix format.
When no DOI is available:
- For GitHub repositories: use the URL to the specific tagged release (
https://github.com/user/repo/releases/tag/v1.0.0) or to a specific commit (https://github.com/user/repo/tree/abc1234). - For repository landing pages with no versioning: include an access date and note any version information provided on the page.
- Consider archiving the resource yourself on Zenodo (public, free, academic use), which will issue a DOI you can then cite.
The goal in every case is the same: a reader following your reference must be able to retrieve the identical version of the data or code that you used. A raw https://github.com/user/repo URL without a version or commit identifier fails this test, because the repository’s default branch may have changed since your analysis.
5 Common Mistakes to Avoid
- Omitting the version number. “SPSS” is not enough — “IBM SPSS Statistics (Version 29.0)” is. Version omissions are the most common citation error for software and the one most likely to draw an examiner’s comment. See the guide on how to reference correctly with AI in 2026 for a broader checklist.
-
Using
[Computer software]for a dataset. If you downloaded survey response data, the correct descriptor is[Data set]. The distinction matters: it signals the nature of the resource and affects how citation managers parse the reference. - Linking to the GitHub homepage rather than a tagged release. The root URL of a repository points to the current state of the main branch, not the state at the time of your analysis. Always link to a specific release tag or commit SHA.
- Citing the software paper instead of the software. Some packages (e.g., the Journal of Open Source Software community) publish a companion article describing the software. Citing that article is appropriate only if you are discussing the methodology of the software itself. When you cite the tool you used to analyse your data, cite the software directly.
- Using an outdated APA 6 format. APA 6 had no formal guidance for datasets or software. If you see references that use “Retrieved from” rather than “Available from” (Vancouver) or that lack bracketed descriptors (APA), they were likely generated using APA 6 rules or an outdated reference manager template. Check your reference manager is using an up-to-date APA 7 style file.
Related Guides
To understand the broader context of open research, see the ranked list of open-access research repositories — which covers Zenodo, Figshare, OSF, the UK Data Service, and more. For APA formatting beyond citations, the guide on how to format APA tables and figures step by step covers the visual elements of your results chapter.
If you encountered a dataset or code base without a DOI while reviewing the literature, the guide on grey literature in research explains how to handle non-standard sources and evaluate their credibility.
Frequently Asked Questions
Do I need to cite data I collected myself?
Yes — if you archive your own dataset and present it for the first time in your thesis or paper, you should cite it as you would any other dataset. Deposit the data in a recognised repository (Zenodo, OSF, Figshare, or your institutional repository) to obtain a DOI, then cite the deposited version. This also satisfies funder open-data mandates and makes your work reproducible.
What is the difference between [Computer software] and [Data set] in APA 7?
Use [Data set] when the repository item primarily consists of data files — survey responses, environmental measurements, clinical records. Use [Computer software] when the item is executable code or an application. Some repositories bundle both; you may use [Data set and code book] or whichever descriptor best matches the primary content. The APA Publication Manual Section 10.9 notes that the bracketed descriptor is flexible to match the actual nature of the source.
Can I cite a GitHub repository that has no DOI?
Yes. Provide the GitHub URL plus a version tag or commit SHA so readers can retrieve the exact state of the code you used. However, DOIs obtained via Zenodo are strongly preferred: they are permanently archived, machine-readable, and will not break if the repository is renamed or deleted. Connecting GitHub to Zenodo and creating a tagged release takes around five minutes and immediately mints a citable DOI.
How do I cite software in Vancouver style?
In Vancouver, list the creator(s) with surname followed by initials and no punctuation, then the software name in italics followed by [software], the version, the publisher or repository, the year, a cited-date in brackets, and a URL or DOI. In the text, insert a superscript number at the point of use. The reference list is ordered by first appearance in the text, not alphabetically.
Do I need to cite R, SPSS, or Python in my thesis?
Yes. Most journals and university examination guidelines require you to cite any statistical or programming language used in analysis, including the version number, so that your results can be reproduced. Check your institutional style guide: many UK and Australian universities now require software citations in the methods section. If you also used specific packages (e.g., NumPy, ggplot2), cite those separately with their own version numbers.
What is a CITATION.cff file and do I need one?
A CITATION.cff file is a machine-readable YAML file you add to the root of your GitHub repository specifying how your code should be cited. GitHub reads it and displays a “Cite this repository” button, and reference managers such as Zotero can import the metadata automatically. You do not need a CITATION.cff file to cite someone else’s code — but adding one to your own repository makes it significantly easier for others to cite your work correctly and increases the likelihood of receiving academic credit.
Get Every Reference Right — Automatically
Formatting dataset, software, and code citations by hand across APA 7 and Vancouver is time-consuming and error-prone. Tesify Auto Bibliography generates complete, style-correct references from a DOI, URL, or repository link — and flags missing version numbers before you submit.
Write your thesis with AI
Structure, draft, cite, and format your thesis faster with Tesify’s AI writing tools, automatic bibliography, and plagiarism checker. Free to start, no credit card required.






Leave a Reply