I've been told 2 by a friend but this looks to only use one?
Below image is the answer to your question.
According to this image, magnetometer required four pins of arduino.
GND of magnetometer ----> Arduino GND
Vcc of magnetometer ----> Arduino 3.3 Volt
SDA of magnetometer ----> Arduino Analog Pin 4
SCL of magnetometer ----> Arduino Analog Pin 5
A4, A5 on Uno are SDA, SCL, required for hardware-based I2C.
I hope it will help you.
It is I2C so 2 pins.
Optionally it can use a third pin to indicate data ready.
It depends what you think of as a pin.
You have VIn and Gnd, SCL and SDA are the 4 main pins you will need to connect. The 3.3V and RDY pin don't seem to be connected in any of the pics I can see.
So the answer is 2 pins plus 2 power.
Oh from the page on how to use it, https://learn.adafruit.com/adafruit-hmc5883l-breakout-triple-axis-magnetometer-compass-sensor/wiring-and-test: "This 3-axis magnetometer breakout is thankfully very easy to use. It only requires 2 power pins and 2 data pins."
Interestingly it doesn't appear to use pull up resistors, which most I2C device require, so the might be built into the board.
Here below image provides the connection and pin requirements for magnetometer...
According to image magnetometer will require 4 pins of Arduino 2 pins of supply i.e +3 volt and Ground and other two pins will be A4 & A5 pins of Arduino.
And to connect other sensors with Arduino, you can find datasheet of desired sensor and can find how many pins that sensor is going to use.