A surface cleaning apparatus comprising: an upright body comprising a handle and a frame;a base adapted for contacting a surface to be cleaned, the base coupled with the upright body; a moveable joint assembly mounting the base to the upright body, wherein the upright body is pivotable up and down about at least one axis relative to the base; an electrically powered suction source comprising a vacuum motor; a recovery tank fluidly coupled to the suction source and removably mounted to the frame; an electrically powered pump in the base; a supply tank fluidly coupled to the pump and removably mounted to the frame; a dirt sensor in the base, the dirt sensor configured to generate dirt sensor data during a cycle of operation of the surface cleaning apparatus, the dirt sensor data correlating to a dirtiness of the surface to be cleaned; the apparatus being characterised in that: a controller configured to process the dirt sensor data generated by the dirt sensor and to transmit a pump control signal to the pump to adjust a flow rate of cleaning fluid from the pump based on the dirt sensor data generated by the dirt sensor; and a connectivity component configured to wirelessly transmit the dirt sensor data to a remote computing device; wherein the remote computing device is configured to identify, based on the transmitted dirt sensor data, at least one of: a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump. a moveable joint assembly mounting the base to the upright body, wherein the upright body is pivotable up and down about at least one axis relative to the base; an electrically powered suction source comprising a vacuum motor; a recovery tank fluidly coupled to the suction source and removably mounted to the frame; an electrically powered pump in the base; a supply tank fluidly coupled to the pump and removably mounted to the frame; a dirt sensor in the base, the dirt sensor configured to generate dirt sensor data during a cycle of operation of the surface cleaning apparatus, the dirt sensor data correlating to a dirtiness of the surface to be cleaned; the apparatus being characterised in that: a controller configured to process the dirt sensor data generated by the dirt sensor and to transmit a pump control signal to the pump to adjust a flow rate of cleaning fluid from the pump based on the dirt sensor data generated by the dirt sensor; and a connectivity component configured to wirelessly transmit the dirt sensor data to a remote computing device; wherein the remote computing device is configured to identify, based on the transmitted dirt sensor data, at least one of: a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump. a controller configured to process the dirt sensor data generated by the dirt sensor and to transmit a pump control signal to the pump to adjust a flow rate of cleaning fluid from the pump based on the dirt sensor data generated by the dirt sensor; and a connectivity component configured to wirelessly transmit the dirt sensor data to a remote computing device; wherein the remote computing device is configured to identify, based on the transmitted dirt sensor data, at least one of: a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump. a dirty floor event at the surface cleaning apparatus; and a change in the flow rate of cleaning fluid from the pump.