The YouTube Content Uploader is a sample of the Resumable Upload functionallity in the API. It allows you to open up a .CSV file, containing metadata of new videos you want to upload, then let the tool upload all those files in the background. Note the CSV files should look like this: Title,Description,Tags,Category,Private,Path (one),The first test video,"water",Education,TRUE,c:\videos\file2one.avi (two),The second test video,"humor",Entertainment,TRUE,c:\videos\filetwo.avi Some spreadsheet programs might export a spreadsheet with blank columnheaders, like this: Title,Description,Tags,Category,Private,Path,,,,,,,,,,,,, The code used to parse CSVs in YouTubeUploader will choke on that. So make sure your CSV file is done with the correct settings to create only the columns that are used. When you compile the sample, or use the provided binary, it will use a default YouTube developer key, that will probably be too limited for your use case. You should replace that developer key with your own. There are 2 ways of doing so. Download the source code and replace the developer key with your own, recompile and you are good to go. Alternatively, you can use the config file to provide your own key. .NET config files are a standard way in the .NET runtime to augment applications and provide configuration information. To use such a file, you need to find the .EXE file you want to modify, and create a .config file in the same directory. So for the YouTubeUploader.exe, you would create a file called YouTubeUploader.exe.config. This is a normal text file, and it should look like this: You have a standard key=value section, where you need to replace the sample values above with whatever you want to have. Note, all the values are optional. So it's perfectly fine to have a file looking like this: if all you want to change is the default for the retry value. Here is an explanation of all the parameters: UserName -> your google account username PassWord -> the password for that account YoutubeAccount -> the youtube accountname If you provide the above 3 values, the application will, on startup, skip the login dialog and use the provided values instaead. MaxThreads -> this value determines how many uploads will happen at the same time. You can try to tune this to maximize the upload bandwidth used. ChunkSize -> this value determines how many Megabytes of the files will be uploaded at once. Let's say you have a 1GB video and this value is 4, the application will upload 250 parts of the video before it's done. Again, you can try to finetune this depending on bandwidth available. RetryCount -> if an upload fails due to network or other conditions, it will be retried. The application will stop trying to upload a file once it's retry counter reaches this number. Note, once ANY upload succeeds, all retry counters will be reset to 0 and the files will be tried again. CsvFile -> the filename of a CSV file to open on startup OutputFile -> the filename of an output CSV file where the application should save the results of the upload to DevKey -> your YouTube developer key that you like to use for uploading to your account. There is one additional parameter, that can be used on the commandline. If you start YouTubeUploader with the /autostart parameter, it will start uploading and saving the output automatically once it's done.