Everything depends on exactly what your looking for.
If engine running/not running is sufficient then check the RPM. If RPM is non zero, the engine is running. If the RPM is zero or no communication then the engine is not running. This can be easily done in the OBD stream.
If you want anything more than that you need manufacturer specific and then not everyone is going to support it. If a car has a soft ignition switch then it is connected to some module that reads it's position and turns on relays to power up the car. It would be a matter of accessing that module for the data. If the car has a hard ignition switch that actually controls power to the car directly then at most a "cranking active" pid may be available.