user61042: Is it possible to check if a specific node is running the full blockchain or a pruned one?
Also if you can, is it possible to check exactly how many (or roughly) how many blocks they are distributing.

user3041: If you can connect to the node via RPC, you can issue a getblockchaininfo command to the node, that will tell you whether the node is pruned ("pruned": True/False) and the height at which the chain is pruned ("pruneheight": X). 
The command will also show the current height of the chain ("blocks": X), so you can compute the actual number of stored blocks by substracting pruneheight from current heigh.  
Just as an example, this is the output of getblockchaininfo for a pruned node on the testnet:

{
  "chain": "test",
  "blocks": 1261324,
  "headers": 1261324,
  "bestblockhash": "000000000000075568c48c5bd77bdbe2a11eaa3416ad1ec066f290158d862259",
  "difficulty": 2108481.043832448,
  "mediantime": 1517322442,
  "verificationprogress": 0.9999987734618496,
  "chainwork": "000000000000000000000000000000000000000000000035070d21569475cdd3",
  "pruned": true,
  ...
  "pruneheight": 1225344
}

So the node is storing 1261324 - 1225344 = 35980 complete blocks.

user5406: Bitcoin nodes advertise their services with the nServices bitmap. The first bit is NODE_NETWORK which indicates whether a node will be able to serve all blocks to other network participants. 
Pruning nodes do not signal NODE_NETWORK, because they do not have a complete copy of the blockchain. They will however return any requested blocks they have in storage. As the minimum pruning size is 550 MB, they will be able to serve at least the last three days worth of blocks.

61042: <p>Is it possible to check if a specific node is running the full blockchain or a pruned one?</p>

<p>Also if you can, is it possible to check exactly how many (or roughly) how many blocks they are distributing.</p>
 3041: <p>If you can connect to the node via <a href="https://bitcoin.org/en/developer-reference#remote-procedure-calls-rpcs" rel="nofollow noreferrer">RPC</a>, you can issue a <a href="https://bitcoin.org/en/developer-reference#getblockchaininfo" rel="nofollow noreferrer"><code>getblockchaininfo</code></a> command to the node, that will tell you whether the node is pruned (<code>"pruned": True/False</code>) and the height at which the chain is pruned (<code>"pruneheight": X</code>). </p>

<p>The command will also show the current height of the chain (<code>"blocks": X</code>), so you can compute the actual number of stored blocks by substracting pruneheight from current heigh.  </p>

<p>Just as an example, this is the output of getblockchaininfo for a pruned node on the testnet:
<code>
{
  "chain": "test",
  "blocks": 1261324,
  "headers": 1261324,
  "bestblockhash": "000000000000075568c48c5bd77bdbe2a11eaa3416ad1ec066f290158d862259",
  "difficulty": 2108481.043832448,
  "mediantime": 1517322442,
  "verificationprogress": 0.9999987734618496,
  "chainwork": "000000000000000000000000000000000000000000000035070d21569475cdd3",
  "pruned": true,
  ...
  "pruneheight": 1225344
}
</code></p>

<p>So the node is storing 1261324 - 1225344 = 35980 complete blocks.</p>
 5406: <p>Bitcoin nodes advertise their services with the <code>nServices</code> bitmap. The first bit is <code>NODE_NETWORK</code> which indicates whether a node will be able to serve all blocks to other network participants. </p>

<p>Pruning nodes do not signal <code>NODE_NETWORK</code>, because they do not have a complete copy of the blockchain. They will however return any requested blocks they have in storage. As the minimum pruning size is 550 MB, they will be able to serve at least the last three days worth of blocks.</p>
