Placing a News Outlet by Who Links to It

375,979 shared links, 184 news domains, and the one politician holding up the right-hand end of the scale

Democracy’s Data

Last updated September 15, 2026 at 4:42p EDT

Everybody knows which way a news outlet leans. The claim gets made constantly, in arguments about bias and in complaints about coverage, and it is almost always made by somebody who has read the outlet and formed a view. Reading is slow, and one person’s reading is one person’s. So turn the claim into a question with a checkable answer: how would you place a news outlet on a left-right scale without reading a word of it?

One answer is to stop looking at the outlet and look at who chooses to link to it. Between 2016 and 2021, 641 members of the 116th Congress — the one that sat from 2019 to 2021 — and other political actors posted 375,979 links to 184 news domains on Twitter, the platform now called X.1 Every one of those people also carries a position built from a completely different behaviour, their votes on the floor. That pairing is what makes the file worth having.

The test

The source is PolShares, the demonstration dataset that the authors of the method ship with their R package mediascores, MIT licensed and downloadable by anyone from a public repository (https://github.com/SMAPPNYU/mediascores). One row per political actor, seven columns saying who they are, and then 184 columns counting how often each person shared each outlet.

Why a link-sharing ledger, of all sources? It records an act rather than an opinion about an act. Nobody was asked which outlets they trust. A platform logged what these people posted while they were doing something else, which makes it an administrative record of the kind this section of the book is about.

The seventh column is what turns a ledger into a test. It carries each actor’s DW-NOMINATE score: a number between −1 and 1 that places a member of Congress on a liberal-to-conservative line, computed from their roll-call votes, the votes on which each member’s yes or no is recorded by name. This book takes it apart in its own brief. Sharing and voting are different acts by the same people. So an estimate built out of one of them can be held up against the other.

The rule for scoring an outlet is one sentence. An outlet’s score is the average roll-call score of the politicians who shared it, weighted by how often each one shared it. Weighted means that a politician’s score is counted once for every link they posted, so someone who shared an outlet a hundred times pulls its score a hundred times as hard as someone who shared it once. An outlet posted only by members who vote conservatively lands where those members sit. One posted by everybody lands in the middle. Nobody reads a single article to produce the number.

And this is a simplification of the published method, not the method. The method is Gregory Eady, Richard Bonneau, Joshua Tucker and Jonathan Nagler’s,2 and it estimates outlet positions and politician positions jointly: a statistical model places both on the same scale at once, using nothing but who shared what, with no roll-call score in it. The rule above takes DW-NOMINATE as given and averages it. That is transparent and it is weaker, and the closing sections say what it costs. What this brief can reproduce is the paper’s ordering of outlets by the politicians who share them, by a cruder rule. What it cannot reproduce is the paper’s placement of ordinary citizens on the same scale, because the data for them sits behind a wall described below.

The data

Two tables are made from the source file. outlets.csv has one row per domain: domain, shares, score, sharers for how many different people posted it, top_sharer_pct for the share of its links contributed by its single busiest sharer, and a kept flag. politicians.csv has one row per actor: name, role, party, nominate, shares and media_score, the last of these built by running the same arithmetic backwards.

Two cleaning decisions stand between the source and those tables, and both are worth stating before any of it is believed.

114 of the 641 actors have no roll-call score, because governors and other non-legislators never cast one. They cannot enter the estimate at all. Taking them out removes 62,353 shares, 16.6% of the total.

An outlet needs 100 shares to be scored here. That keeps 112 of the 184 domains, which between them carry 99.0% of all the sharing. The other 72 are drawn in gray below rather than dropped, so you can see what the cut removed.

This is not the paper’s replication archive, and the difference matters. A replication archive is the bundle of data and code a journal has its authors deposit so that anyone can redo the analysis. This paper’s sits on Harvard Dataverse (https://doi.org/10.7910/DVN/1QMLOV), which answers an automated request with a success code and an empty body. A person with a browser gets the file in thirty seconds. A script never does, which is the same wall the survey access brief measures directly. So what is here is the politician half of the object, and nothing below is a claim about ordinary citizens.

Before you look at the scale, commit to a number. Its most conservative outlet is therightscoop.com, with 401 shares behind it. How much of that outlet’s total do you think came from the single politician who shared it most? Write down a percentage.

What it says about democracy

Figure 1. 184 news domains on one left-right scale. Each circle is a domain, placed by the average roll-call score of the politicians who shared it and sized by how many shares it got. A one-dimensional scatter is the form this question wants: the estimate produces exactly one number per outlet, and what matters is the order and the spacing, not a trend over time. Outlines mark outlets where one politician contributed more than half the links. In the browser, hover any circle, and use the checkboxes to hide those outlets or to show the 72 below the share cut.

The two ends are where you would put them. blavity.com sits at -0.52 and therightscoop.com at 0.79, a span of 1.30. The New York Times comes out at -0.33 and Fox News at 0.53. Nobody coded a single article to produce that ordering. It came out of counting who posted what.

Now the number you wrote down. 84.5% of therightscoop.com’s shares came from one politician. The typical outlet on this scale gets 9.8% of its links from its biggest sharer. The most extreme outlet on the scale gets more than four fifths of them from a single person’s posting habits.

Here is where that number comes from, and the outlet’s whole score with it. These are the politicians who shared therightscoop.com, each with their roll-call score and how many times they posted it:

Politician Party Roll call score Shares Score times shares
Ted Cruz Republican 0.817 339 277.0
Billy Long Republican 0.544 39 21.2
Charles Roy Republican 0.800 14 11.2
Louie Gohmert Republican 0.644 2 1.3
John Cornyn Republican 0.471 2 0.9
Rand Paul Republican 0.889 1 0.9
Marsha Blackburn Republican 0.627 1 0.6
Ron Johnson Republican 0.626 1 0.6
Debbie Lesko Republican 0.615 1 0.6
Matt Gaetz Republican 0.599 1 0.6

Multiply each score by its share count, add the products up, and divide by the 401 shares in total: the answer is 0.79, the position of therightscoop.com in Figure 1. Ted Cruz alone posted it 339 times, so the weighted average is mostly Ted Cruz’s own roll-call score of 0.817 and a little of everyone else’s. Take Ted Cruz out and the same arithmetic over the remaining 62 shares gives 0.61. The outlet holding up the right-hand end of the scale is, to a first approximation, one politician’s posting habit.

That is not an error in the data and not a defect of the method. It is what a scale looks like at its edges. The middle of Figure 1 rests on hundreds of people sharing thousands of links. The ends rest on the few outlets that only a few people ever post, and the fewer the people, the further out the outlet lands. Tick the first checkbox in Figure 1 and the right-hand end retracts.

The overplotting brief makes the same point about a scatter plot. The outline of the ink is drawn by the rarest points, the shape of the mass by the common ones, and the eye reads the outline. Here the outline is a ranking, and a ranking invites you to read the top of it.

An outlet’s score came from the politicians who shared it, so run the arithmetic backwards. Score each politician by the average score of the outlets they share, and set that against the roll-call score they already had.

Figure 2. The same estimator, run backwards. 516 politicians with at least twenty shares to scored outlets, each placed by their roll-call score across and their media score up. Blue Democrats, red Republicans, with the fitted line through them.

The correlation — a number between −1 and 1 for how tightly two quantities rise and fall together, where 1 means they move in lockstep — is 0.94. What these people vote for and what they link to are close to the same thing, measured two entirely different ways.

This is not an independent validation, and calling it one would be wrong. The outlet scores were built out of DW-NOMINATE, so some agreement is guaranteed by construction. What the figure bounds is how much of one behaviour the other reproduces once the numbers have been through two averagings.

The exceptions are where the interest is. 30 politicians land inside the other party’s range. The median Democrat scores -0.22 and the median Republican 0.16, a smaller separation than the same people show on roll calls. Sharing is a noisier signal of position than voting, which is what you would expect and is worth having measured.

What this brief cannot tell you

It has no members of the public in it. The study this method comes from places news media, politicians and ordinary citizens on one scale. The citizens are in the replication archive, and the archive refuses scripts. Every number above is about what politicians share.

Sharing is not endorsement. A member who posts a link in order to attack it counts here exactly like one who posts it approvingly. Nothing in a count of links tells the two apart, and the sharpest outlets are the likeliest place for that to matter.

The 184 domains are a list somebody wrote. An outlet nobody thought to include cannot appear at any position, and the file does not say how the list was drawn.

DW-NOMINATE is itself an estimate, on a scale defined by the votes that happened to be held, which is the subject of its own brief. This brief inherits every one of those limits and adds two averagings on top.

And it is one platform, one chamber, one stretch of years. 2016 to 2021, the 116th Congress, one platform, Twitter. Nothing here says how any of it would look in 2026.

What you should have learned

Extensions

None of these is answered above, and every one can be answered by sorting or grouping the tables the Sources section hands over.

Two stretch ideas go past the spreadsheet. Pick one outlet at an end of the scale, look up who its biggest sharer is, and read a dozen of that person’s posts to see whether the sharing looks like endorsement or attack. And take the same idea to a source outside this file: score a set of outlets by which committees’ members post them, and see whether the ordering survives a change of yardstick.

Sources

Data

Checks

Check Passed
the metadata columns are the seven documented ones yes
the counts are non-negative whole numbers yes
the people without a score are a minority of the shares yes
the cut keeps most of the sharing yes
the two ends are on opposite sides of zero yes
Fox News scores to the right of the New York Times yes
the two behaviours agree strongly but not perfectly yes
at least one kept outlet rests mostly on a single sharer yes

The data itself

Every figure above is drawn from these tables. They are plain CSV, they open in a spreadsheet, and they are yours to take further.

outlets.csv, politicians.csv

Two more files here are not data about the subject at all – they are how this chapter checked its own work: facts.csv, the individual numbers the text above quotes, and checks.csv, the arithmetic verified before anything was drawn.

Rebuild this data yourself, with an AI assistant
I want to rebuild a public dataset from its original source, without any
starting files. Please do the following and show your work.

THE SOURCE. New York University's Social Media and Political
Participation lab publishes mediascores, the R package behind Eady,
Bonneau, Tucker and Nagler's study of news sharing (Political
Analysis, 2024). The package ships a demonstration dataset called
PolShares, MIT-licensed, served plainly from GitHub:
https://raw.githubusercontent.com/SMAPPNYU/mediascores/master/data/PolShares.RData
About 70 KB, and it is an .RData file, so open it in R with load().
Each row is one politician or political actor. Seven columns in front
say who they are — including their DW-NOMINATE score from roll-call
votes — and each of the remaining 184 columns is a news website,
holding the count of times that person tweeted a link to it between
2016 and 2021.

WHAT TO BUILD.
1. The file's own dimensions: how many actors, how many news domains,
   how many link shares in total, and how many actors carry a
   NOMINATE score.
2. A simple ideology score for each news site: the average NOMINATE
   score of everyone who shared it, weighted by how often they did.
   Check that Fox News lands to the right of the New York Times.

CHECK YOUR WORK. The copy this book used was downloaded in August 2026.
If your rebuild matches it, you should find:
- 641 politicians and political actors
- 184 news domains and 375,979 link shares between them
- 527 of the actors carry a NOMINATE score
The repository is the archive of a published study; the file should
not change at all. A difference means the package itself was updated,
not that you made an error.

  1. The file’s own description: “News Media Domains Tweeted by members of the 116th US Congress and other political actors (2016–2021),” https://github.com/SMAPPNYU/mediascores/blob/master/man/PolShares.Rd.↩︎

  2. Gregory Eady, Richard Bonneau, Joshua A. Tucker and Jonathan Nagler, “News Sharing on Social Media: Mapping the Ideology of News Media, Politicians, and the Mass Public,” Political Analysis 33, no. 2 (2025): 73–90, published online 19 November 2024, https://doi.org/10.1017/pan.2024.19.↩︎