How to decide in hook_nodeapi() if it was invoked after creating/updating node via Services module?
I think there's a point in the system not normally telling you this, since we want to avoid any kind of coupling between the systems. Based on that I guess there's no built in way to get the information you want. Strictly speaking, you should probably consider why you are doing what you are doing, as it's not good practice.

Possible methods:
You could implement a custom node resource, which hands over node creation to the regular services callback after having done

$node-&gt;creator = 'services';


or possibly:

$node_origin = &amp;drupal_static('node_creation_tracker');
$node_origin = 'services';


after which you could retrieve this data with the same method. Implementing a resource is not a complicated process, but requires quite a bit of knowledge about services.