title: "The account name or password that you have entered is incorrect" Steam Api error
body: <p>I got <strong>"The account name or password that you have entered is incorrect"</strong> error when trying login using this api endpoint: <a href="https://steamcommunity.com/login/dologin/" rel="nofollow noreferrer">https://steamcommunity.com/login/dologin/</a></p>
  
  <p>I am using the credentials I use when logging in via Steam app or Steam web, so I don't think I have a problem with my credentials.</p>
  
  <p>Here code which code I use:</p>
  
  <pre><code>public bool DoLogin(string username, string password)
  {
      var data = new NameValueCollection { { "username", username } };
      // First get the RSA key with which we will encrypt our password.
      string response = Fetch("https://steamcommunity.com/login/getrsakey", "POST", data, false);
      GetRsaKey rsaJson = JsonConvert.DeserializeObject&lt;GetRsaKey&gt;(response);
  
      // Validate, if we could get the rsa key.
      if (!rsaJson.success)
      {
          return false;
      }
  
      // RSA Encryption.
      RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
      RSAParameters rsaParameters = new RSAParameters
      {
          Exponent = HexToByte(rsaJson.publickey_exp),
          Modulus = HexToByte(rsaJson.publickey_mod)
      };
  
      rsa.ImportParameters(rsaParameters);
  
      // Encrypt the password and convert it.
      byte[] bytePassword = Encoding.ASCII.GetBytes(password);
      byte[] encodedPassword = rsa.Encrypt(bytePassword, false);
      string encryptedBase64Password = Convert.ToBase64String(encodedPassword);
  
      SteamResult loginJson = null;
      CookieCollection cookieCollection;
      string steamGuardText = "";
      string steamGuardId = "";
  
      // Do this while we need a captcha or need email authentification. Probably you have misstyped the captcha or the SteamGaurd code if this comes multiple times.
      do
      {
          Console.WriteLine("SteamWeb: Logging In...");
  
          bool captcha = loginJson != null &amp;&amp; loginJson.captcha_needed;
          bool steamGuard = loginJson != null &amp;&amp; loginJson.emailauth_needed;
  
          string time = Uri.EscapeDataString(rsaJson.timestamp);
  
          string capGid = string.Empty;
          // Response does not need to send if captcha is needed or not.
          // ReSharper disable once MergeSequentialChecks
          if (loginJson != null &amp;&amp; loginJson.captcha_gid != null)
          {
              capGid = Uri.EscapeDataString(loginJson.captcha_gid);
          }
  
          data = new NameValueCollection { { "password", encryptedBase64Password }, { "username", username } };
  
          // Captcha Check.
          string capText = "";
          if (captcha)
          {
              Console.WriteLine("SteamWeb: Captcha is needed.");
              System.Diagnostics.Process.Start("https://steamcommunity.com/public/captcha.php?gid=" + loginJson.captcha_gid);
              Console.WriteLine("SteamWeb: Type the captcha:");
              string consoleText = Console.ReadLine();
              if (!string.IsNullOrEmpty(consoleText))
              {
                  capText = Uri.EscapeDataString(consoleText);
              }
          }
  
          data.Add("captchagid", captcha ? capGid : "-1");
          data.Add("captcha_text", captcha ? capText : "");
          // Captcha end.
          // Added Header for two factor code.
          data.Add("twofactorcode", "");
  
          // Added Header for remember login. It can also set to true.
          data.Add("remember_login", "false");
  
          // SteamGuard check. If SteamGuard is enabled you need to enter it. Care probably you need to wait 7 days to trade.
          // For further information about SteamGuard see: https://support.steampowered.com/kb_article.php?ref=4020-ALZM-5519&amp;l=english.
          if (steamGuard)
          {
              Console.WriteLine("SteamWeb: SteamGuard is needed.");
              Console.WriteLine("SteamWeb: Type the code:");
              string consoleText = Console.ReadLine();
              if (!string.IsNullOrEmpty(consoleText))
              {
                  steamGuardText = Uri.EscapeDataString(consoleText);
              }
              steamGuardId = loginJson.emailsteamid;
  
              // Adding the machine name to the NameValueCollection, because it is requested by steam.
              Console.WriteLine("SteamWeb: Type your machine name:");
              consoleText = Console.ReadLine();
              var machineName = string.IsNullOrEmpty(consoleText) ? "" : Uri.EscapeDataString(consoleText);
              data.Add("loginfriendlyname", machineName != "" ? machineName : "defaultSteamBotMachine");
          }
  
          data.Add("emailauth", steamGuardText);
          data.Add("emailsteamid", steamGuardId);
          // SteamGuard end.
  
          // Added unixTimestamp. It is included in the request normally.
          var unixTimestamp = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
          // Added three "0"'s because Steam has a weird unix timestamp interpretation.
          data.Add("donotcache", unixTimestamp + "000");
  
          data.Add("rsatimestamp", time);
  
          // Sending the actual login.
          using (HttpWebResponse webResponse = Request("https://steamcommunity.com/login/dologin/", "POST", data, false))
          {
              var stream = webResponse.GetResponseStream();
              if (stream == null)
              {
                  return false;
              }
              using (StreamReader reader = new StreamReader(stream))
              {
                  string json = reader.ReadToEnd();
                  loginJson = JsonConvert.DeserializeObject&lt;SteamResult&gt;(json);
                  cookieCollection = webResponse.Cookies;
              }
          }
      } while (loginJson.captcha_needed || loginJson.emailauth_needed);
  
      // If the login was successful, we need to enter the cookies to steam.
      if (loginJson.success)
      {
          _cookies = new CookieContainer();
          foreach (Cookie cookie in cookieCollection)
          {
              _cookies.Add(cookie);
          }
          SubmitCookies(_cookies);
          return true;
      }
      else
      {
          Console.WriteLine("SteamWeb Error: " + loginJson.message);
          return false;
      }
  
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/QaMZ0.png" rel="nofollow noreferrer">enter image description here</a></p>
  
  <p>Is there another solution how to login to steam and get html?</p>