DATE:
AUTHOR:
Dimensions product team

Retraction data is now in Dimensions BigQuery

DATE:
AUTHOR: Dimensions product team

TL;DR: Dimensions now tracks ~108,000 retracted and flagged publications, sourced from Retraction Watch, Crossref, PubMed, and more - available today as a new flags field in BigQuery, with full Dimensions and API integration coming in Q3 2026.

Why this matters

A dataset built on retracted literature spreads flawed science. For research evaluation, funding decisions, and policy analysis, knowing which publications have been flagged isn't optional — it's foundational.

Retraction volume has also surged: 64% of all recorded retractions in Dimensions happened after 2020. The problem is accelerating, driven by paper mills, AI-generated content, and compromised peer review.

Digital Science has been committed to tackling this head-on. If you want background on our approach, these are worth reading:

This release puts the data directly into your analysis pipelines.

What's in the dataset:

  • ~108,000 publications carry a research integrity flag

  • 81,165 are formally retracted (75%); the other 25% carry expressions of concern, tortured-phrase detections, or citejacking flags

  • 5 independent sources feed the dataset: Retraction Watch, Crossref, PubMed, the Problematic Paper Screener, and Dimensions itself

  • Retracted Date (where identified) By mapping retraction notices and publications, we expose the date of retraction and links to additional publications.

  • Updated weekly — flags stay current as new retractions are recorded


Four flag types are covered:

Type

Description

Retraction notice

Publication has been formally retracted or withdrawn

Expression of concern

Publisher has flagged potential issues; investigation may be ongoing

Tortured phrases

Publication is detected by Guillaume Cabanac's Tortured Phrases Detector

Citejacked

Publication cites a hijacked journal

About tortured phrases and citejacking

These two flags come from a different detection method than the other two, and both are experimental signals, not confirmed misconduct. They're included because they're relevant and interesting for research-analytics purposes —-surfacing publications worth a closer look - but neither should be treated as a strong signal, and neither should ever be used on its own as grounds for saying a paper is retracted or fraudulent. Only flags.is_retracted reflects a formal retraction notice.

Tortured phrases: the publication is detected by Guillaume Cabanac's Tortured Phrases Detector, part of the Problematic Paper Screener - an academic project out of IRIT (Institut de Recherche en Informatique de Toulouse) that scans the literature for tortured phrases: awkward machine-paraphrased jargon (e.g. "counterfeit consciousness" for "artificial intelligence") used to disguise plagiarism or evade plagiarism checkers. It's a useful heuristic for paper-mill-style content, but a detection alone doesn't establish that a paper is fraudulent - it flags candidates for human review.

Citejacked: the publication appears to be citing a hijacked journal. See Retraction Watch's How hijacked journals keep fooling one of the world's leading databases for background on how this scheme works. As with tortured phrases, this is a detection signal about a citation pattern, not a determination about the citing paper itself.


What's changing, and when

Phase 1 — BigQuery (live now)

A new flags field is now available on dimensions-ai.data_analytics.publications. It is NULLABLE — publications without any flags return NULL. For flagged publications, it captures:

  • flags.is_retracted — whether a formal retraction notice exists*

  • flags.retraction_date — earliest recorded retraction date

  • flags.publication_updates — the full history of flagged updates, including type, source, date, reasons, and the linked retraction notice DOI

The dataset is sourced and peer-reviewed; see the appendix for schema details and sample queries.

Phase 2 — Dimensions, Altmetric and API (Q3 2026)

Full integration into the Dimensions & Altmetric web interface and Dimensions API is planned for Q3 2026. We'll confirm exact dates ahead of release.


What you should do now

  1. Query flags in BigQuery to identify retracted or flagged publications in your datasets.

  2. Review any citation counts, benchmarks, or analyses that may include publications where flags.is_retracted = true.

  3. Confirm your downstream pipelines handle NULL correctly for publications that carry no flags.

  4. Contact your Dimensions representative with questions, or to be notified when the API and interface rollout date is confirmed.


Appendix: BigQuery reference for technical users

All queries below run against dimensions-ai.data_analytics.publications.

Schema

flags (RECORD, NULLABLE)
├── is_retracted           BOOLEAN   — Whether the publication is retracted
├── retraction_date        STRING    — Date the publication was retracted
├── retraction_date_normal DATE      — normalized counterpart to retraction_date
└── publication_updates (RECORD, REPEATED)
    ├── source             STRING    — Source of update notice (e.g. Crossref, Retraction Watch)
    ├── date               STRING    — Date of the update notice
    ├── date_normal        DATE      — normalized counterpart to date
    ├── type               STRING    — RetractionNature / update_to.type
    ├── reasons            STRING (REPEATED) — Reasons associated with the update notice
    └── notice (RECORD)
        ├── id             STRING    — Dimensions publication ID of the notice
        └── doi            STRING    — DOI of the notice

Query 1 — Retraction status breakdown

SELECT
  flags.is_retracted,
  COUNT(id) AS count
FROM `dimensions-ai.data_analytics.publications`
WHERE flags IS NOT NULL
GROUP BY 1
ORDER BY 2 DESC

Query 2 — Retractions by year

Useful for tracking how retraction volume has grown over time:

SELECT
  SUBSTR(flags.retraction_date, 1, 4) AS year,
  COUNT(id) AS count
FROM `dimensions-ai.data_analytics.publications`
WHERE flags.is_retracted = TRUE
  AND flags.retraction_date IS NOT NULL
GROUP BY 1
ORDER BY 1 DESC

Query 3 — Flag type breakdown

Shows the mix of update notice types across all flagged publications:

SELECT
  pu.type,
  COUNT(*) AS count
FROM `dimensions-ai.data_analytics.publications`,
UNNEST(flags.publication_updates) AS pu
WHERE flags IS NOT NULL
GROUP BY 1
ORDER BY 2 DESC


Powered by LaunchNotes