dilame / instagram-private-api

NodeJS Instagram private API SDK. Written in TypeScript.
MIT License
6.02k stars 1.14k forks source link

Max Besties Exceeded Error While Adding Followers to Close Friends List #1800

Open hamza08003 opened 1 month ago

hamza08003 commented 1 month ago

Max besties exceeded Error While Adding Followers to Close Friends List

Description

While adding followers to the close friends list, I encountered a 400 Bad Request error with the message "max besties exceeded" after adding 9,999 followers. There were no issues during the process of adding followers in batches up to this point, but once the close friends list reached 9,999 users, the error consistently appeared. The error occurred after attempting to add more followers using the setBesties endpoint.

The error encountered:

Retry failed: IgResponseError: POST /api/v1/friendships/set_besties/ - 400 Bad Request; max besties exceeded
    at Request.handleResponseError (C:\Users\hamza\Desktop\instagram-close-friends-automation-ts\node_modules\instagram-private-api\src\core\request.ts:172:12)
    at Request.send (C:\Users\hamza\Desktop\instagram-close-friends-automation-ts\node_modules\instagram-private-api\src\core\request.ts:83:24)
    at async FriendshipRepository.setBesties (C:\Users\hamza\Desktop\instagram-close-friends-automation-ts\node_modules\instagram-private-api\src\repositories\friendship.repository.ts:76:22)

image

Relevant code section:

await ig.friendship.setBesties({ add: batch, remove: [] });
// Function to add followers to the close friends list
async function addToCloseFriends(ig: IgApiClient, followerIds: string[], batchSize: number, requestDelay: number, batchDelay: number) {
    let totalAdded = 0;
    console.log(`Adding ${followerIds.length} followers to close friends list...`);
    for (let i = 0; i < followerIds.length; i += batchSize) {
        const batch = followerIds.slice(i, i + batchSize);
        try {
            await ig.friendship.setBesties({ add: batch, remove: [] });
            totalAdded += batch.length;
            console.log(`Added batch ${Math.floor(i / batchSize) + 1} to close friends. Total added: ${totalAdded}`);
            await new Promise(resolve => setTimeout(resolve, requestDelay))
        } catch (error) {
            if (error instanceof IgNotFoundError) {
                console.error('An API endpoint was not found:', error.message);
            } else {
                console.error('An error occurred while adding to close friends:', error);
            }
            break;
        }

        await new Promise(resolve => setTimeout(resolve, batchDelay));
    }
    console.log('All followers have been added to the close friends list.');

Key Details

keroo43o423 commented 1 month ago

any updates on this? im also limited

hamza08003 commented 1 month ago

any updates on this? im also limited

Unfortunately, I haven't found a workaround yet, but I'm still looking into possible solutions. If you come across any idea or updates on this, the do share!

keroo43o423 commented 1 month ago

i think we should sniff traffic on mobile app (when in close friends section) to learn the new endpoint and request.

keroo43o423 commented 1 month ago

i know there are people who can add more than 1m followers to close friends. you can't add more than 10k close friends when mimicking a desktop device using this endpoint: https://i.instagram.com/api/v1/friendships/set_besties/

keroo43o423 commented 1 month ago

you're getting this error: max besties exceeded , right

hamza08003 commented 1 month ago

i think we should sniff traffic on mobile app (when in close friends section) to learn the new endpoint and request.

Yes I'm getting the problem Ater 9999 followers, I also know people who added around 50k+ followers to the close friends list.

And I saw on one forum, someone was saying that on desktop, the close friends list starts glitching after 9999 followers so you can't add more.

So Sniffing traffic on the mobile app sounds like a good idea to explore any different endpoints or requests.

sunmasters commented 1 month ago

I am able to do without problems. You are using old API, that has limit.

hamza08003 commented 1 month ago

I am able to do without problems. You are using old API, that has limit.

Could you share how you managed to do it without any issues? Which API did you use ?

sunmasters commented 1 month ago

It is hidden API. Can't share jumpshare. com/s/Ltn8lXtMoIX0daNrmVAC