Coordinates of corners of camera view border
There are 2 things to consider here:

The camera frame. The camera frame is not as simple as you might expect since its effected by the field-of-view, aspect &amp; x/y shift.
The 2D view pixel coords, The user can pan &amp; zoom the view, so this also has to be calculated.

This script gets the camera bounds and prints the pixel boundaries.
import bpy

def view3d_find():
    # returns first 3d view, normally we get from context
    for area in bpy.context.window.screen.areas:
        if area.type == 'VIEW_3D':
            v3d = area.spaces[0]
            rv3d = v3d.region_3d
            for region in area.regions:
                if region.type == 'WINDOW':
                    return region, rv3d
    return None, None

def view3d_camera_border(scene):
    obj = scene.camera
    cam = obj.data

    frame = cam.view_frame(scene=scene)

    # move from object-space into world-space 
    frame = [obj.matrix_world @ v for v in frame]

    # move into pixelspace
    from bpy_extras.view3d_utils import location_3d_to_region_2d
    region, rv3d = view3d_find()
    frame_px = [location_3d_to_region_2d(region, rv3d, v) for v in frame]
    return frame_px

frame_px = view3d_camera_border(bpy.context.scene)
print(&quot;Camera frame:&quot;, frame_px)

See API docs for the important functions used here:

bpy.types.Camera.view_frame
bpy_extras.view3d_utils.location_3d_to_region_2d