Python api - Rotate selected around vertex using bpy operator
The bpy.ops.transform.rotate() rotates on the object's origin.
You can  do bpy.ops.transform.rotate(value=yourValue,center_override=(x,y,z)) where x, y and z are the x, y and z of the vertex.
Basically the center_override overrides the rotation pivot position.