Skip to main content

PyPIPyPI - Downloads

Freetube-import

Creates FreeTube .db playlist files from a list of youtube video urls separated by a newline (.txt) or from .csv files exported from 'Google takeout'.

Run the scrip with a path to a valid .txt file of youtube urls, or youtube's .csv playlist file. Then import the resulting .db file into FreeTube.

Install via pip:

  pip install freetube-import

https://pypi.org/project/freetube-import/

Basic usage:

  freetube-import <file>... <file2> <file3>

Help message:

  usage: freetube_import.py [-h] [-a] [-b] [-e] [-s] [filepath ...]

  Import youtube playlists

  positional arguments:
    filepath              path to a valid .txt or .csv playlist file or files

  optional arguments:
     -h, --help        show this help message and exit
     -a, --list-all    Takes all .txt and csv files as input from the current working directory.
     -e, --log-errors  Also lists the videos that failed the metadata fetch
     -s, --stdin       Takes stdin as input and outputs dirextly to stdout
     -n, --name NAME   sets a name for playlist, otherwise uses input filename
     -d, --debug       Debug mode with more info

While buggy and experimental stdin mode can used in scripts and automation. Not for average users.

   cat test.txt | freetube-import -s > std_test.db

It might be usefull to set a name that shows up in FreeTube. Otherwise in stdin mode a placeholder name is generated.

   cat test.txt | freetube-import -s -n playlist-name > std_test.db

pro tip: Try appending the ouput to FreeTube's own playlist.db file. So playlists get automatically added. (at your own risk, backup your files beforehand, close freetube to avoid file corruption)

  cat test.txt | freetube-import -s -n playlist-name >> your/path/FreeTube/playlists.db

Works without YouTube api through a custom version of YouTube-search library. Also works atleast on piped links, probably also on lists of Invidious links and other links that follow the standard youtube url format. VPN/proxy isn't strictly nessesary by my experience. I have run 1,5k videos videos through this in one sitting and gotten no ip blocks.

Dependencies

   pip install requests

https://pypi.org/project/requests/

  pip install tqdm

https://pypi.org/project/tqdm/

Metadata

Release files for freetube-import 0.38.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for freetube-import 0.38.0
File Size Uploaded
freetube_import-0.38.0.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for freetube-import 0.38.0
File Interpreter ABI Platform
freetube_import-0.38.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.1 kB

Release files / freetube_import-0.38.0.tar.gz

Download URL freetube_import-0.38.0.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4388211f3ecaa9fc0ac20bbf2d4e7bd558a1414319e541acd9f067a150a4a6f1
BLAKE2b-256 checksum
How to use checksums
caa15adf2188160081ad791e76899af128c4d40415ab218e493e9e5c2f1215ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 21, 2026.

Transparency log

Release files / freetube_import-0.38.0-py3-none-any.whl

Download URL freetube_import-0.38.0-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67a5af628fc2eb27cd362111782429b47069422af529ab01427a4c952b6d2c76
BLAKE2b-256 checksum
How to use checksums
f1678e6d28c1684d711bddd83a572b394efe736ac9ffa9761c4cb4465b6d2f63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.38.0 This release

2 release files

0.37.0

2 release files

0.35.0

2 release files

0.34.0

2 release files

0.33.0

2 release files

0.31.6

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.29.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page