How to Cite a Dataset, Software, and Code in APA 7 and Vancouver (2026)

·

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.

Quick answer: In APA 7, use the author–year template with the bracketed descriptor [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

Author, A. A., & Author, B. B. (Year). Title of dataset (Identifier; Version X.X) [Data set]. Repository Name. https://doi.org/xxxxx

Follow these numbered steps for each dataset you cite:

  1. 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.
  2. Record the year of deposit or publication. Use the year the version you accessed was published; if there is no year, use (n.d.).
  3. Italicise the dataset title. Use sentence case (capitalise only the first word and proper nouns).
  4. 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.
  5. 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.
  6. Name the repository or publisher. Common examples: UK Data Service, ICPSR, Zenodo, Figshare, OSF, Harvard Dataverse, re3data.
  7. 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:

O’Donohue, W. (2017). Content analysis of undergraduate psychology textbooks (ICPSR 36966; Version V1) [Data set]. ICPSR. https://doi.org/10.3886/ICPSR36966.v1

Example 2 — Zenodo dataset with version number:

Müller, K., & Singh, P. (2024). Urban heat island measurements — 12 European cities (Version 2.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.1234567

Example 3 — Dataset without a DOI (use URL):

National Center for Education Statistics. (2022). High School Longitudinal Study of 2009 (HSLS:09): Second follow-up [Data set]. U.S. Department of Education. https://nces.ed.gov/surveys/hsls09/

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, A. A., & Author, B. B. (Year). Name of software (Version X.X) [Computer software]. Publisher. https://doi.org/xxxxx
  1. 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.
  2. Year of the version you used. Use the year of the specific version, not the year the software was first released.
  3. Software name in italics. Use the official product name and capitalise as the publisher does.
  4. 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.
  5. Insert [Computer software].
  6. 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.
  7. 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):

IBM Corp. (2023). IBM SPSS Statistics (Version 29.0) [Computer software]. IBM Corp. https://www.ibm.com/products/spss-statistics

Example 2 — R (open-source, cite the language itself):

R Core Team. (2024). R: A language and environment for statistical computing (Version 4.4.0) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/

Example 3 — NVivo (qualitative analysis software):

Lumivero. (2023). NVivo (Version 14.0) [Computer software]. Lumivero. https://lumivero.com/products/nvivo/

Example 4 — Python (cite using the PSF page):

Python Software Foundation. (2024). Python (Version 3.12) [Computer software]. Python Software Foundation. https://www.python.org/

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

  1. Connect your GitHub account to zenodo.org.
  2. Enable the repository you want to archive from the Zenodo GitHub settings page.
  3. Create a new release on GitHub (e.g., v1.0.0). Zenodo will automatically archive the release and mint a DOI.
  4. Copy the DOI from your Zenodo record and use it in your reference list.
  5. Optionally, add a CITATION.cff file 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)

Author, A. A. (Year). Repository name: Brief description (Version X.X.X) [Computer software]. Zenodo. https://doi.org/xxxxx

APA 7 Code Template (GitHub, no DOI)

Author, A. A. (Year). Repository name: Brief description (Version X.X.X or Commit abc1234) [Computer software]. GitHub. https://github.com/username/repo

Worked Examples — APA 7 Code

Example 1 — Code archived on Zenodo (DOI available):

Halpern, J. (2023). Slow-render: A static site generator for long-form essays (Version 2.4.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.7892341

Example 2 — GitHub repository, specific version tag:

Mwangi, P. (2024). Harbor-tracker: Open data on coastal infrastructure changes (Version 1.3.2) [Computer software]. GitHub. https://github.com/pmwangi/harbor-tracker

Example 3 — Citing a specific commit (no version tag):

Chen, L. (2025). Sentiment-pipeline: Multilingual sentiment analysis scripts (Commit a8f3e91) [Computer software]. GitHub. https://github.com/lchen/sentiment-pipeline/tree/a8f3e91

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

Creator A, Creator B. Dataset title [dataset]. Repository Name; Year [cited YYYY Mon DD]. Version X. Available from: URL or DOI

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:

Müller K, Singh P. Urban heat island measurements — 12 European cities [dataset]. Zenodo; 2024 [cited 2026 Jan 15]. Version 2.0. Available from: https://doi.org/10.5281/zenodo.1234567

Example 2 — Government statistical dataset:

Office for National Statistics. Annual Population Survey microdata [dataset]. UK Data Service; 2023 [cited 2026 Feb 03]. SN 8490. Available from: https://beta.ukdataservice.ac.uk/datacatalogue/studies/study?id=8490

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

Creator/Author. Software name [software]. Version X. Publisher; Year [cited YYYY Mon DD]. Available from: URL or DOI

Worked Examples — Vancouver Software

Example 1 — SPSS:

IBM Corp. IBM SPSS Statistics [software]. Version 29.0. IBM Corp; 2023 [cited 2026 Mar 10]. Available from: https://www.ibm.com/products/spss-statistics

Example 2 — R (open-source):

R Core Team. R: A language and environment for statistical computing [software]. Version 4.4.0. R Foundation for Statistical Computing; 2024 [cited 2026 Jan 05]. Available from: https://www.R-project.org/

Example 3 — Code on Zenodo:

Halpern J. Slow-render: A static site generator for long-form essays [software]. Version 2.4.0. Zenodo; 2023 [cited 2026 Feb 14]. Available from: https://doi.org/10.5281/zenodo.7892341

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
Tip — Automate with Tesify Auto Bibliography: Formatting dataset and software references by hand is error-prone. Tesify Auto Bibliography generates correctly formatted APA 7 and Vancouver references from a DOI, URL, or repository link — including the bracketed descriptor, version number, and hyperlinked DOI. It is built into the Tesify thesis workflow so you never switch tabs.

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.

Try Tesify Free

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

Your email address will not be published. Required fields are marked *