diff --git a/instagrapi/mixins/public.py b/instagrapi/mixins/public.py index 64455fc3..24a6ba55 100644 --- a/instagrapi/mixins/public.py +++ b/instagrapi/mixins/public.py @@ -233,6 +233,15 @@ def public_a1_request(self, endpoint, data=None, params=None, headers=None): ) return response.get("graphql") or response + def public_a1_request_user_info_by_username(self, username, data=None, params=None): + params = params or {} + url = self.PUBLIC_API_URL + f"api/v1/users/web_profile_info/?username={username}" + headers = {'x-ig-app-id': '936619743392459'} + response = self.public_request( + url, data=data, params=params, headers=headers, return_json=True + ) + return response.get("user") or response + def public_graphql_request( self, variables, diff --git a/instagrapi/mixins/user.py b/instagrapi/mixins/user.py index 30be7cd8..9d3d38cc 100644 --- a/instagrapi/mixins/user.py +++ b/instagrapi/mixins/user.py @@ -141,7 +141,7 @@ def user_info_by_username_gql(self, username: str) -> User: An object of User type """ username = str(username).lower() - return extract_user_gql(self.public_a1_request(f"/{username!s}/")["user"]) + return extract_user_gql(self.public_a1_request_user_info_by_username(f"/{username!s}/")["user"]) def user_info_by_username_v1(self, username: str) -> User: """ diff --git a/instagrapi/types.py b/instagrapi/types.py index ad0c6a30..bfa7b001 100644 --- a/instagrapi/types.py +++ b/instagrapi/types.py @@ -50,7 +50,7 @@ class Broadcast(TypesBaseModel): group_image_background_uri: str thread_subtype: int number_of_members: int - creator_igid: str | None + creator_igid: Optional[str] creator_username: str