IGPAPI
    Preparing search index...

    Variable ExploreScreenConst

    ExploreScreen: ScreenDefinition<
        "Explore",
        "tab",
        undefined,
        {
            recent: readonly { fullName: string; userId: string; username: string }[];
        },
        ExploreState,
        | IgApiError
        | RequestError
        | ParseError
        | TransportError
        | InvalidSkipOrdinalsError
        | ScreenDataError
        | ScreenEnterNavigationError,
        PlainJsonApiHttp
        | Signature
        | MobileNavigation,
        {
            openSearchInput: (
                self: ScreenHandle,
                state: ExploreState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "SearchInput",
                        "screen",
                        | {
                            lastSeenMedia?: readonly {
                                mediaIds: ...;
                                surfaceType: ...;
                                timestamp: ...;
                            }[];
                            query: string;
                            session?: {
                                clientUuidRankToken?: (...)
                                | (...);
                                searchSessionId: string;
                                serpSessionId?: (...) | (...);
                                typeaheadSessionId?: (...) | (...);
                            };
                        }
                        | {
                            recent: readonly {
                                fullName: string;
                                userId: string;
                                username: string;
                            }[];
                        },
                        {
                            query: string;
                            rankToken: string;
                            recentAccounts: readonly {
                                fullName: string;
                                userId: string;
                                username: string;
                            }[];
                            results: readonly (
                                | {
                                    __typename: "XDTTypeaheadSearchKeyword";
                                    keyword_lazified: { id: ...; name: ...; user?: ... };
                                }
                                | {
                                    __typename: "XDTTypeaheadSearchUser";
                                    rank_token?: (...)
                                    | (...);
                                    user: {
                                        full_name?: ...;
                                        id: ...;
                                        is_private?: ...;
                                        is_verified?: ...;
                                        latest_reel_media?: ...;
                                        profile_pic_url?: ...;
                                        search_serp_type?: ...;
                                        username: ...;
                                    };
                                }
                                | {
                                    __typename: "XDTTypeaheadSearchHashtag";
                                    hashtag: { id: ...; media_count?: ...; name: ... };
                                }
                            )[];
                            session?: {
                                clientUuidRankToken: string;
                                searchSessionId: string;
                                serpSessionId?: string;
                                typeaheadSessionId: string;
                            };
                        },
                        SearchInputState,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | SchemaError
                        | GraphqlRootFieldMissingError
                        | InvalidSkipOrdinalsError
                        | ScreenEnterNavigationError,
                        MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation,
                        {
                            change: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenDataMember<
                                ScreenDataShape,
                                (...args: [query: ...]) => Effect<(...), (...), (...)>,
                            >;
                            search: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    readonly [(...)],
                                >,
                                (...args: readonly [(...)]) => Effect<(...), (...)>,
                            >;
                        },
                        {
                            recentAccounts: {
                                at: "recentAccounts";
                                item: ScreenItemDefinition<
                                    "RecentSearchAccount",
                                    { fullName: string; userId: string; username: string },
                                    { fullName: string; userId: string; username: string },
                                    RecentSearchAccountState,
                                    never,
                                    never,
                                    { openProfile: (self: ..., state: ...) => ... },
                                >;
                                key: "userId";
                            };
                        },
                        never,
                    >,
                    [],
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "SearchInput",
                        "screen",
                        {
                            query: string;
                            rankToken: string;
                            recentAccounts: readonly {
                                fullName: string;
                                userId: string;
                                username: string;
                            }[];
                            results: readonly (
                                | { __typename: ...; keyword_lazified: ... }
                                | { __typename: ...; rank_token?: ...; user: ... }
                                | { __typename: ...; hashtag: ... }
                            )[];
                            session?: {
                                clientUuidRankToken: string;
                                searchSessionId: string;
                                serpSessionId?: (...) | (...);
                                typeaheadSessionId: string;
                            };
                        },
                        {
                            change: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenDataMember<ScreenDataShape, (...args: ...) => ...>;
                            search: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        {
                            recentAccounts: {
                                at: "recentAccounts";
                                item: ScreenItemDefinition<
                                    "RecentSearchAccount",
                                    { fullName: ...; userId: ...; username: ... },
                                    { fullName: ...; userId: ...; username: ... },
                                    RecentSearchAccountState,
                                    never,
                                    never,
                                    { openProfile: ... },
                                >;
                                key: "userId";
                            };
                        },
                        ScreenHandle,
                        "required",
                    >,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | InvalidSkipOrdinalsError
                    | ScreenDataError
                    | ScreenEnterNavigationError
                    | ScreenEnterConcurrentError
                    | ScreenNotOnTopError
                    | ScreenEdgeInputError,
                >,
            >;
        },
        Record<never, never>,
        never,
    > = ...

    The Explore tab (the bottom bar's search entry): ExploreFragment, module explore_popular, reached from the feed's search tab (main_search). It shows a search field over a grid of posts.

    Wire: the enter asks for the recent searches and the search null state the recorded tab sends; the recent request goes out while the feed is still in front (the recording's fbsearch/recent_searches reports the feed's endpoint, the null state reports the tab's), so the enter yields the navigation between them. The grid itself is not requested by the tab: the recorded app prefetches it at launch (discover/topical_explore with is_prefetch=true; the 2026-10-23 profile-video recording) and the tab tap in the explore recording carried no grid request at all, so the grid is the process's launch prefetch, not this screen's data. The launch burst does not model that prefetch yet, so the screen's data is what its own enter fetches: the recent accounts. The tab's autoplay configs (clips/autoplay_configs/) have no brick; the search surface's quick-promotion query is the app's, not a request of this screen.

    openSearchInput opens the search field with the recent accounts and sends nothing (the 451 recording's field open has no request of its own).

    Confirmed by the two Android 451 recordings of 2026-10-23: the first (the feed's search tab opened, then the field) and the second (the tab, the field and its first recent account opened into a profile).

    Screenshot: none; the tab's grid shows other accounts' posts, which are not the test accounts' to publish. The screen ships without one.