igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Variable SearchResultsTopTabScreenConst

    SearchResultsTopTabScreen: ScreenDefinition<
        "SearchResultsTopTab",
        "screen",
        {
            lastSeenMedia?: readonly {
                mediaIds: readonly string[];
                surfaceType: string;
                timestamp: number;
            }[];
            query: string;
            session: {
                clientUuidRankToken: string;
                searchSessionId: string;
                serpSessionId?: string;
                typeaheadSessionId: string;
            };
        },
        {
            query: string;
            session: {
                clientUuidRankToken?: string;
                searchSessionId: string;
                serpSessionId: string;
                typeaheadSessionId?: string;
            };
        },
        {
            query: string;
            session: {
                clientUuidRankToken?: string;
                searchSessionId: string;
                serpSessionId: string;
                typeaheadSessionId?: string;
            };
        },
        IgApiError
        | RequestError
        | ParseError
        | TransportError,

            | PlainJsonApiHttp
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
        {
            openUsers: (
                self: ScreenHandle,
                state: {
                    query: string;
                    session: {
                        clientUuidRankToken?: string;
                        searchSessionId: string;
                        serpSessionId: string;
                        typeaheadSessionId?: string;
                    };
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "SearchResultsAccountsTab",
                        "innerTab",
                        {
                            query: string;
                            session: {
                                clientUuidRankToken?: string;
                                searchSessionId: string;
                                serpSessionId: string;
                                typeaheadSessionId?: string;
                            };
                        },
                        {
                            users: readonly {
                                fullName: string;
                                isPrivate: boolean;
                                isVerified: boolean;
                                userId: string;
                                username: string;
                            }[];
                        },
                        Record<never, never>,
                        IgApiError | RequestError | ParseError | TransportError,
                        PlainJsonApiHttp | MobileDevice | NavigationWire | MobileNavigation,
                        {},
                        {
                            results: {
                                at: "users";
                                item: ScreenItemDefinition<
                                    "SearchResultsAccount",
                                    {
                                        fullName: string;
                                        isPrivate: boolean;
                                        isVerified: boolean;
                                        userId: string;
                                        username: string;
                                    },
                                    {
                                        fullName: string;
                                        isPrivate: boolean;
                                        isVerified: boolean;
                                        userId: string;
                                        username: string;
                                    },
                                    SearchResultsAccountState,
                                    never,
                                    never,
                                    { openProfile: (self: ..., state: ...) => ... },
                                    undefined,
                                    never,
                                >;
                                key: "userId";
                                source: ScreenItemNodes;
                            };
                        },
                        never,
                        never,
                    >,
                    [],
                    "search_result",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "SearchResultsAccountsTab",
                        "innerTab",
                        {
                            users: readonly {
                                fullName: string;
                                isPrivate: boolean;
                                isVerified: boolean;
                                userId: string;
                                username: string;
                            }[];
                        },
                        {},
                        {
                            results: {
                                at: "users";
                                item: ScreenItemDefinition<
                                    "SearchResultsAccount",
                                    {
                                        fullName: ...;
                                        isPrivate: ...;
                                        isVerified: ...;
                                        userId: ...;
                                        username: ...;
                                    },
                                    {
                                        fullName: ...;
                                        isPrivate: ...;
                                        isVerified: ...;
                                        userId: ...;
                                        username: ...;
                                    },
                                    SearchResultsAccountState,
                                    never,
                                    never,
                                    { openProfile: ... },
                                    undefined,
                                    never,
                                >;
                                key: "userId";
                                source: ScreenItemNodes;
                            };
                        },
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | MobileDevice
                    | NavigationWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    > = ...

    CompositeSerpTabbedFragment:serp_top: the search results on their Top tab, opened on submit from the search field (Android 451). The enter registers the submitted keyword in the recent searches and requests the Top tab while the search field is still in front, then the results screen comes to front; openUsers switches to the Accounts tab. The lat/lng of the request are not sent by the Top tab on either app version (450 and 451).

    The top results themselves are not modelled: the response body of TopSerpQuery is not known, so the handle carries the query and the session, not a result list. No screenshot is published for this tab: the frame of the app shows the Accounts tab instead. Unverified: the app starts the results from a keyword suggestion that echoes the typed query; a submit from a user suggestion of the search field is not modelled. The app sends last_seen_media_ids, so a caller passes the local history through SearchInput.lastSeenMedia.

    Confirmed on Android 451: the keyword submitted from the search field onto this tab.

    Guide: Search