MCPcopy Create free account
hub / github.com/Useful-Scripts-Extension/useful-script / getAllMedia

Function getAllMedia

scripts/insta_GLOBAL.js:30–63  ·  view source on GitHub ↗
({ uid, progressCallback, limit = 0 })

Source from the content-addressed store, hash-verified

28
29// WARNING: not working anymore??
30export async function getAllMedia({ uid, progressCallback, limit = 0 }) {
31 let all_urls = [];
32 let after = "";
33 while (true) {
34 let data = await fetch(
35 `https://www.instagram.com/graphql/query/?query_hash=396983faee97f4b49ccbe105b4daf7a0&variables={"id":"${uid}","first":50,"after":"${after}"}`
36 );
37 let json = await data.json();
38 console.log(json);
39 let edges = json?.data?.user?.edge_owner_to_timeline_media?.edges || [];
40
41 let urls = [];
42 edges.forEach((e) => {
43 let childs = e.node?.edge_sidecar_to_children?.edges;
44 if (childs) {
45 urls.push(...childs.map((c) => getBiggestMediaFromNode(c.node)));
46 } else {
47 urls.push(getBiggestMediaFromNode(e.node));
48 }
49 });
50 all_urls.push(...urls);
51 progressCallback?.({
52 current: all_urls.length,
53 data: all_urls,
54 });
55
56 let pageInfo = json?.data?.user?.edge_owner_to_timeline_media?.page_info;
57 if (!pageInfo?.has_next_page || (limit > 0 && all_urls.length >= limit))
58 break;
59 after = pageInfo?.end_cursor;
60 }
61
62 return all_urls;
63}
64export async function getInstaUserInfo(username) {
65 let res = await fetch(
66 "https://www.instagram.com/web/search/topsearch/?query=" + username

Callers 1

Calls 1

getBiggestMediaFromNodeFunction · 0.85

Tested by

no test coverage detected