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

    Variable FeedTimelinePageSchemaConst

    FeedTimelinePageSchema: Struct<
        {
            entries: $Array<
                Union<
                    readonly [
                        Struct<
                            {
                                key: String;
                                media: Struct<
                                    {
                                        carousel_media: optionalKey<$Array<(...)>>;
                                        code: String;
                                        id: String;
                                        injected: optionalKey<NullOr<(...)>>;
                                        inventory_source: optionalKey<String>;
                                        logging_info_token: optionalKey<String>;
                                        media_type: Number;
                                        mezql_token: optionalKey<String>;
                                        pk: optionalKey<decodeTo<(...), (...), (...), (...)>>;
                                        product_type: optionalKey<String>;
                                        taken_at: optionalKey<Number>;
                                        user: optionalKey<Struct<(...)>>;
                                    },
                                >;
                                position: Number;
                                slide: optionalKey<Int>;
                                type: Literal<"post">;
                            },
                        >,
                        Struct<
                            {
                                key: String;
                                media: Struct<
                                    {
                                        carousel_media: optionalKey<$Array<(...)>>;
                                        code: String;
                                        id: String;
                                        injected: optionalKey<NullOr<(...)>>;
                                        inventory_source: optionalKey<String>;
                                        logging_info_token: optionalKey<String>;
                                        media_type: Number;
                                        mezql_token: optionalKey<String>;
                                        pk: optionalKey<decodeTo<(...), (...), (...), (...)>>;
                                        product_type: optionalKey<String>;
                                        taken_at: optionalKey<Number>;
                                        user: optionalKey<Struct<(...)>>;
                                    },
                                >;
                                position: Number;
                                type: Literal<"reel">;
                            },
                        >,
                        Struct<
                            {
                                key: String;
                                media: Struct<
                                    {
                                        carousel_media: optionalKey<$Array<(...)>>;
                                        code: String;
                                        id: String;
                                        injected: optionalKey<NullOr<(...)>>;
                                        inventory_source: optionalKey<String>;
                                        logging_info_token: optionalKey<String>;
                                        media_type: Number;
                                        mezql_token: optionalKey<String>;
                                        pk: optionalKey<decodeTo<(...), (...), (...), (...)>>;
                                        product_type: optionalKey<String>;
                                        taken_at: optionalKey<Number>;
                                        user: optionalKey<Struct<(...)>>;
                                    },
                                >;
                                position: Number;
                                type: Literal<"ad">;
                            },
                        >,
                        Struct<
                            {
                                key: String;
                                media: Struct<
                                    {
                                        carousel_media: optionalKey<$Array<(...)>>;
                                        code: String;
                                        id: String;
                                        injected: optionalKey<NullOr<(...)>>;
                                        inventory_source: optionalKey<String>;
                                        logging_info_token: optionalKey<String>;
                                        media_type: Number;
                                        mezql_token: optionalKey<String>;
                                        pk: optionalKey<decodeTo<(...), (...), (...), (...)>>;
                                        product_type: optionalKey<String>;
                                        taken_at: optionalKey<Number>;
                                        user: optionalKey<Struct<(...)>>;
                                    },
                                >;
                                position: Number;
                                source: String;
                                type: Literal<"explore_story">;
                            },
                        >,
                        Struct<
                            {
                                key: String;
                                position: Number;
                                subtitle: String;
                                title: String;
                                type: Literal<"caught-up">;
                            },
                        >,
                        Struct<
                            {
                                key: String;
                                position: Number;
                                posts: $Array<
                                    Struct<
                                        {
                                            id: optionalKey<(...)>;
                                            media_type: optionalKey<(...)>;
                                            user: optionalKey<(...)>;
                                        },
                                    >,
                                >;
                                title: String;
                                type: Literal<"threads">;
                            },
                        >,
                        Struct<
                            {
                                key: String;
                                position: Number;
                                reels: $Array<
                                    Struct<
                                        {
                                            id: optionalKey<(...)>;
                                            is_eof: optionalKey<(...)>;
                                            media_type: optionalKey<(...)>;
                                            pk: optionalKey<(...)>;
                                            user: optionalKey<(...)>;
                                        },
                                    >,
                                >;
                                title: String;
                                type: Literal<"suggested-reels">;
                            },
                        >,
                        Struct<
                            {
                                item: Struct<
                                    {
                                        kind: Literal<"unknown">;
                                        kindKey: optionalKey<String>;
                                        raw: Codec<Json, Json, never, never>;
                                    },
                                >;
                                key: String;
                                position: Number;
                                type: Literal<"unknown">;
                            },
                        >,
                    ],
                >,
            >;
            more_available: Boolean;
            next_max_id: optionalKey<String>;
            requestId: String;
        },
    > = ...

    One page of the timeline: the entries the app shows, the cursor the next page is requested with, and the request id this page was fetched with — the opening's id, so the state can carry it to the pages after the first. Nothing derived from the entries is stored here: the feed position the next page starts at and the taken_at of the last media are read off entries when the cursor is made (feedTimelineCursorOf), so the page keeps only the answer.