How to Automate Your Social Media Posting with a Simple Script

If you’re a founder running a small business, social media is probably one of those tasks that feels important but never gets done consistently. You start the week strong, then life gets busy and your feeds go quiet. I’ve been there. That’s why I built a simple script that handles posting for me, and in this post I’ll show you exactly how it works.

First, the core idea: instead of logging into each platform and writing a post, you create a CSV file with your content and let a script push it out at scheduled times. The script I use is written in Python and uses the platform’s official APIs — Twitter, LinkedIn, and Instagram. It reads the CSV, formats the message, and makes the API call. That’s it. No machine learning, no complex logic.

The key to making it work is scheduling. On a Linux server, you set up a cron job to run the script every hour. The script checks the current time against the scheduled post time in the CSV, and if there’s a match, it publishes. This way, you can plan a week or a month of content in one sitting, and then forget about it.

Let me give you a concrete example. Suppose you want to post at 9:00 AM, 12:00 PM, and 5:00 PM on weekdays. Your CSV might look like this:

“`
scheduled_time,message
2023-10-01 09:00,Morning tip: automate your workflow.
2023-10-01 12:00,Quick poll: What’s your biggest time-waster?

“`

The script parses each row, checks if the scheduled time matches the current time (within a minute to be safe), and if so, posts to the designated platform. You can even add a column for which platform to use.

Now, the setup isn’t entirely plug-and-play. You need to get API keys from each platform, which takes a few minutes but is well documented. And you need a server that’s always on — a cheap VPS works fine. If you don’t have one, you can run it on your own computer, but it won’t be as reliable.

One thing I learned the hard way: rate limits. Each platform has limits on how many posts you can make in a day. So don’t schedule 50 posts for one day. I keep it to 3-5 per platform per day, which is also a good frequency for engagement.

Another tip: use a CSV with a date column so you can plan ahead. I usually plan a month’s worth of content in a Google Sheet, then export as CSV. This keeps the workflow simple and collaborative if you have a team.

If you’re not into coding, my store has a ready-to-run version of this script that you just configure with your API keys and CSV. But even if you write your own, the logic is straightforward. The reward is huge: consistent posting without daily effort.

I’ve been running this script for six months now, and my engagement has actually gone up because I post regularly. And I’m not the only one — I’ve had several indie founders tell me they saw a similar boost.

So stop manually posting. Automate it. Your future self will thank you.