Go não precisa de dependência externa para chamadas HTTP simples — o pacote net/http da biblioteca padrão já resolve.

Função de requisição

func buscarPerfil(username string) (map[string]interface{}, error) {
    url := fmt.Sprintf("https://scrapegram.cloud/api/v1/instagram/profile?username=%s", username)
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Set("Authorization", "Bearer "+os.Getenv("SCRAPEGRAM_TOKEN"))

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()

    if resp.StatusCode != 200 {
        return nil, fmt.Errorf("erro HTTP %d", resp.StatusCode)
    }

    var dados map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&dados)
    return dados, nil
}

Por que Go é uma boa escolha aqui

Para pipelines de coleta que precisam rodar muitas chamadas concorrentes de forma eficiente, as goroutines do Go lidam bem com esse tipo de carga — mas lembre de limitar a concorrência com um semáforo pra não estourar seu rate limit.