Apple Tried to Stop Me From Uploading 45,000 Contacts to iCloud. What I Did Next Will Shock You.
A friend recently asked me to help upload their 45,000 contacts to iCloud. I knew Apple limits how many contacts you can upload at once, but I was determined to get all 45,000 contacts into iCloud. Here's how I shocked Apple and succeeded in my mission.
Splitting up the Contacts
First, I took the single 45,000 contact VCF file and split it into multiple files with 1,000 contacts each using my online VCF splitter tool.
The tool allows you to easily split a large VCF file into smaller files with a specified number of contacts in each output file.
I split the large VCF into 45 files named split_contacts_1.vcf
, split_contacts_2.vcf
, etc. Each file had 1,000 contacts.
Downloaded the zip file of the splitted vcf files and then extracted it to a folder.
Uploading to iCloud
With the files split up, I was ready to start uploading to iCloud. Here were the steps:
Go to iCloud.com and login to your account.
Click Contacts.
Click the plus icon(+) and choose "Import contact..."
Select the first 1,000 contact VCF file and upload it. (Status code 200 means successful import)
Refresh the page and select all the contacts or scroll to the bottom to see the number of contacts uploaded successfully.
Repeat steps 3-5 for each split VCF file until all 45 are uploaded.
Progress
I monitored the network requests closely to ensure each file was uploading successfully.
Apple Tried to Stop Me
As expected, Apple imposed limits to try and stop me from uploading so many contacts. But I persevered and worked around the errors:
Contacts is locked - Due to account maintenance, Contacts is currently unavailable.This error means that iCloud rate limited me temporarily. I waited a few hours and tried uploading again.
"Unable to import vCard - This vCard cannot be imported because it contains invalid contact data."
This error can occurred sometimes even after the contacts are uploaded so just refresh the page and select all contacts or scroll to the end of the contacts list to get the total number of uploaded contacts. If the contacts are uploaded successfully then it will reflect in the count otherwise retry by uploading the vcf file again.
No error displayed - Sometimes no error was shown in the UI even though contacts were not uploaded successfully. To confirm, I refreshed the page and checked the contacts count by selecting all or scrolling to the end. I also monitored the network requests in the browser dev tools.
I tried uploading the complete vcf file using the contacts app in Mac but only around 10000 files were synced with iCloud.
With determination and systematically working around Apple's roadblocks, I shocked them by successfully uploading all 45,000 contacts!