Obscuraworks
Obscuraworks.
Home
← Explore
JavaScript·public

Tiktok Downloader

Scrape for : https://freetiktokdownload.com/id

ACHMAT MUWAFIKACHMAT MUWAFIK
created 5/13/2026· updated 5/13/2026
Files1
Size6.9 KB
Lines97
Revisions2
JavaScript#dl#downloader
ZIP

Files

1 file· 6.9 KB
tiktokdl.js· 97L · 6.9 KB
RawDownload
const fetch = require('node-fetch');
const FormData = require('form-data');

const scrapeFreeTikTok = async (url) => {
      const userAgent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36';

        try {
                const initResponse = await fetch('https://freetiktokdownload.com/id', {
                          method: 'GET',
                                headers: {
                                            'User-Agent': userAgent
                                }
                });

                    const setCookieHeader = initResponse.headers.get('set-cookie') || '';

                        const matchXsrf = setCookieHeader.match(/XSRF-TOKEN=([^;]+)/);
                            const matchSession = setCookieHeader.match(/tiktok_video_downloader_download_tiktok_videos_without_watermark_session=([^;]+)/);

                                const cookies = [];

                                    if (matchXsrf) cookies.push(matchXsrf[0]);
                                        if (matchSession) cookies.push(matchSession[0]);

                                            const cookieString = cookies.join('; ');

                                                if (!cookieString) {
                                                          return {
                                                                    status: 'error',
                                                                            message: 'Gagal mendapatkan sesi cookie.'
                                                          };
                                                }

                                                    const html = await initResponse.text();

                                                        const tokenMatch =
                                                              html.match(/<meta\s+name="csrf-token"\s+content="([^"]+)"/i) ||
                                                                    html.match(/name="_token"\s+value="([^"]+)"/i);

                                                                        if (!tokenMatch) {
                                                                                  return {
                                                                                            status: 'error',
                                                                                                    message: 'Gagal mengambil CSRF token.'
                                                                                  };
                                                                        }

                                                                            const csrfToken = tokenMatch[1];

                                                                                const form = new FormData();
                                                                                    form.append('_token', csrfToken);
                                                                                        form.append('url', url);

                                                                                            const fetchResponse = await fetch('https://freetiktokdownload.com/fetch', {
                                                                                                      method: 'POST',
                                                                                                            headers: {
                                                                                                                        'User-Agent': userAgent,
                                                                                                                                'Accept': 'application/json',
                                                                                                                                        'Accept-Encoding': 'gzip, deflate, br, zstd',
                                                                                                                                                'Origin': 'https://freetiktokdownload.com',
                                                                                                                                                        'Referer': 'https://freetiktokdownload.com/id',
                                                                                                                                                                'Cookie': cookieString,
                                                                                                                                                                        ...form.getHeaders()
                                                                                                            },
                                                                                                                  body: form
                                                                                            });

                                                                                                const result = await fetchResponse.json();

                                                                                                    return result;

        } catch (error) {
                return {
                          status: 'error',
                                message: error.message
                };
        }
};

// contoh pemanggilan
(async () => {
      const res = await scrapeFreeTikTok('https://www.tiktok.com/@langitpenuhcerita/video/7638546161988635924?_r=1&u_code=e44aadm1a6m8m8&region=ID&mid=7638546211150039816&preview_pb=0&sharer_language=en&_d=ejebffjdbf70ih&share_item_id=7638546161988635924&source=h5_t&timestamp=1778646099&user_id=7148412173672350746&sec_user_id=MS4wLjABAAAAmS5elyAJpu9dWjBWNMnOAPI-yr83K397whqS6i4uPpAfp_5K6xfB22slCMojRIq-&item_author_type=2&social_share_type=0&utm_source=copy&utm_campaign=client_share&utm_medium=android&share_iid=7625575522260666119&share_link_id=92cf852e-7f1a-49a0-ac9b-2f63d6cea765&share_app_id=1180&ugbiz_name=MAIN&ug_btm=b2001&link_reflow_popup_iteration_sharer=%7B%22click_empty_to_play%22%3A1%2C%22dynamic_cover%22%3A1%2C%22follow_to_play_duration%22%3A-1.0%2C%22profile_clickable%22%3A1%7D&enable_checksum=1');
        console.log(res);
          return(res);
})();
})
                }
        }
                                                                                                            }
                                                                                            })
                                                                                  }
                                                                        }
                                                          }
                                                }
                                }
                })
        }
}

Live metrics

Stars
0
Views
20
Copies
1
Forks
0

Revisions

View all →
  1. e72ae0d · r25/13/2026

    Update r2

    1 files+76-63
  2. 9128909 · r15/13/2026

    Initial revision

    1 files+84-0

Permalink

/code/uhzyubm-tiktok-downloader
Latest commit
/code/uhzyubm-tiktok-downloader/e72ae0d