Concerns about using screen_name for users/lookup endpoint



Hi everyone. I want to use /users/lookup endpoint for my application. This endoint takes a list of screen_names OR a list of user_ids. I would use screen_names but I noticed that on this page there is a mention about using screen_names: "The screen name, handle, or alias that this user identifies themselves with. screen_names are unique but subject to change. Use id_str as a user identifier whenever possible."
For me it’s not clear what they mean saying “subject to change”. Could you please explain why using id_str is more preferred and what problems can I face if use screen_names?


And ID will never change for the life of an account. If you have a user_id today, three weeks from now it will return the same user. A screen_name can be used by the user at anytime so if you have a user today, tomorrow you could request the account based on the screen_name and you could could a different user with a different ID.