Is it possible to iterate through particles in python?
Yes it is to some extent.

ps = obj.particle_systems[particle_sys]
particles = ps.particles

# on large objects list comprehension seems to be slower than index
# and . dotted access is also a slowing factor
for i in range(len(particles)):
    # alive_state
    # angular_velocity
    # birth_time
    # die_time
    # hair_keys
    # is_exist
    # is_visible
    # lifetime
    pt = particles[i]
    if pt.is_exist and pt.alive_state == 'ALIVE':
        # do something... add_loc(pt.location[:])
        ...
    # prev_angular_velocity
    # prev_location
    # prev_rotation
    # prev_velocity
    # rotation
    # size
    # velocity


pt.location would give the coordinate. The Particles API seems to be slightly under-developed, but perhaps this info will help you.