Getting collisions for multiple object without the collision callbacks

I’m making a platformer (sidescroller), and right now I’m making a grenade-launcher for the player.
It spawns grenades which is a prefab, this prefab has a Circle Collider 2D which is the blast radius for the explosion.
When a grenade is spawned I run this (amongst other things);

    // Add the initial force
    rBody.AddForce(new Vector2(forceX, forceY) *300f);
    Invoke("Explode", 2.5f);

I’m having trouble figuring out how I should handle the Explode function. I would like to find all the GameObjects that are colliding with the Circle Collider 2D at that point, but I can’t find a way to do it.

I would like to be able to do something like this (not real code but you understand what I’m trying to do)

void Explode () {
    collidingObjects = circleCollider.getCollisions();
    foreach(collidingObject as entity) {
        if(entity = 'player')
             player.pushLeftOrRight() 
        elseif(entity = 'enemy')
             grenade.dealDamage(grenade.damage)
    }
    Debug.Log("Explode");
    Destroy(gameObject);
}

I’m guessing that it wouldn’t work so can anyone point me in the right direction?

If you want to get colliders in a given area at a specific frame, don’t bother with a collider at all, at least not for the explosion itself. Instead, use Overlap Circle All (or Overlap Circle Non Alloc for better performance).