How do I give my top down game bullet spread?

I’m currently in the process of making my first game, and I’m trying to figure out how to add a small amount of bullet spread to my gun. I tried out a few solutions but they didn’t work for me (though that was mostly copying some code and being confused). Would anyone give me a hand?

Here is my code for shooting:

    public Transform firePoint;
    public GameObject bulletPrefab;

    public float bulletForce = 20f;

    // Update is called once per frame
    void Update()
    {
        if(Input.GetButtonDown("Fire1"))
        {
            Shoot();
        }

        void Shoot()
        {
            GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
            Rigidbody2D rb = bullet.GetComponent<Rigidbody2D>();
            rb.AddForce(firePoint.up * bulletForce, ForceMode2D.Impulse);
        }

    }
}

And here is my code for looking at the mouse:
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed = 10f;

    public Rigidbody2D rb;
    public Camera cam;

    Vector2 movement;
    Vector2 mousePos;

    void Update()
    {
        movement.x = Input.GetAxisRaw("Horizontal");
        movement.y = Input.GetAxisRaw("Vertical");

        mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
    }

    void FixedUpdate()
    {
        rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);

        Vector2 lookDir = mousePos - rb.position;
        float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;
        rb.rotation = angle;
    }
}

If you’re wondering, all of this code is from Brackey’s tutorials so far.

Here is some code that makes the bullet instantiate in a specified range from the centre point. this also allows you to instantiate multiple bullets at a time like a shotgun.

public GameObject bullets;
    public GameObject bulletParent;
    public GameObject centrePoint;
    public float numBullets;
    public float range;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            SpreadBullets();
        }
    }
    void SpreadBullets()
    {
        for (int i = 0; i <= numBullets; i++)
        {
            bulletParent.transform.position = new Vector3(Random.Range(centrepoint.transform.position.x - range, centrePoint.transform.position.x + range), centrePoint.transform.position.y);
            Instantiate(bullets, bulletParent.transform.position, bulletParent.transform.rotation);
        }
    }

the centrePoint will need to be a child of the player and the bulletParent should be a child of the centrePoint. the numBullets is the number of bullets that you want to have shoot. the range is how far the bullets can instantiate from the centrePoint. let me know if you have any issues with it