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

    Variable TimelineFeedMediaSchemaConst

    TimelineFeedMediaSchema: Struct<
        {
            carousel_media: optionalKey<
                $Array<
                    Struct<
                        {
                            pk: decodeTo<
                                String,
                                Union<readonly [Number, String]>,
                                never,
                                never,
                            >;
                        },
                    >,
                >,
            >;
            code: String;
            id: String;
            injected: optionalKey<
                NullOr<
                    Struct<
                        {
                            ad_id: optionalKey<
                                decodeTo<String, Union<readonly [Number, String]>, never, never>,
                            >;
                        },
                    >,
                >,
            >;
            inventory_source: optionalKey<String>;
            logging_info_token: optionalKey<String>;
            media_type: Number;
            mezql_token: optionalKey<String>;
            pk: optionalKey<
                decodeTo<String, Union<readonly [Number, String]>, never, never>,
            >;
            product_type: optionalKey<String>;
            taken_at: optionalKey<Number>;
            user: optionalKey<
                Struct<
                    {
                        pk: decodeTo<String, Union<readonly [Number, String]>, never, never>;
                        username: String;
                    },
                >,
            >;
        },
    > = ...

    The wire forms the library models: one media's identity and author, and one entry of feed_items — a post (media_or_ad), an Explore story (explore_story with its own media), the "You're all caught up" line (end_of_feed_demarcator), the Threads block (threads_in_feed_unit) or the suggested-reels block (clips_netego). The interfaces above describe the whole answer for callers; a caller that needs a page checked reads it with these schemas. The list is an open union: an entry of any other kind is kept as the explicit TimelineFeedUnknownItem, so it neither fails the page nor disappears, while a known kind whose body does not decode fails.