For the API part, I wrote a simple bash script that just parses the info and exposes them as variables. Not exactly that polished though, but works well:
#!/bin/bash
## script for getting beblade stats
## usage: beblade.sh [options to pass to curl]
## config
ip=192.168.1.2
port=80
## code
beblade_raw=$(curl -s $ip:$port ${@})
status=$?
if [[ $status == 0 ]]; then
beblade_active=1
beblade_errors=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep Chip | sed -e "s|Chip: ||" | grep -o "X" | wc -l)
beblade_mhps=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep MHS -A 4 | tail -n 1 | sed 's/^0*//')
beblade_received=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Received" -A 4 | tail -n 1 | sed 's/^0*//')
beblade_accepted=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Accepted" -A 4 | tail -n 1 | sed 's/^0*//')
beblade_perminute=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Per Minute" -A 4 | tail -n 1)
beblade_efficiency=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Efficiency" -A 4 | tail -n 1)
beblade_uptime=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Up Time" -A 4 | tail -n 1)
else
beblade_active=0
beblade_errors=0
beblade_mhps=0
beblade_received=0
beblade_accepted=0
beblade_perminute=0
beblade_efficiency=0
beblade_uptime=0
fi
I could also write one that allows you to change the settings too.