PintBlog is an automated cross-posting tool for Pinterest & Blogger. Publish your content to both platforms at once. One click, two platforms! Simplify and automate your content sharing.
🚀 Web Version: https://pintblog.vercel.app/
- Dual Platform Publishing
- Single Interface
- OAuth Authentication
- MongoDB Integration
- Title
- Description
- Multiple Images
- Pinterest Pins Link
- Board Selection
- Labels/Category
- Keywords
- Google OAuth
- Pinterest OAuth
- Environment Variables
Before you begin, make sure you have:
- Node.js installed (v14 or higher)
- A MongoDB database
- Pinterest Developer Account
- Google Cloud Console Account
-
Clone the repository
git clone https://github.com/BotolMehedi/pintblog-cross-poster.git cd pintblog-cross-poster -
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile in the root directory:MONGO_URI=your_info PINTEREST_CLIENT_ID=your_info PINTEREST_CLIENT_SECRET=your_info PINTEREST_REDIRECT_URI=your_info BLOGGER_CLIENT_ID=your_info BLOGGER_CLIENT_SECRET=your_info BLOGGER_REDIRECT_URI=your_info
-
Run the application
npm start
-
Open in browser
http://localhost:3000
-
Go to Pinterest Developers
- Visit developers.pinterest.com
- Sign in with your Pinterest account
-
Create a new app
- Click "Create app" or "My apps"
- Fill in your app details (name, description, website)
- Accept the Terms of Service
-
Get your credentials
- Navigate to your app dashboard
- Copy your
App ID(Client ID) - Copy your
App Secret(Client Secret)
-
Set up redirect URI
- In app settings, add your redirect URI
- For local development:
http://localhost:3000/callback/pinterest - For production:
https://yourdomain.com/callback/pinterest
-
Go to Google Cloud Console
- Visit console.cloud.google.com
- Sign in with your Google account
-
Create a new project
- Click "Select a project" → "New Project"
- Enter project name and click "Create"
-
Enable Blogger API
- Go to "APIs & Services" → "Library"
- Search for "Blogger API v3"
- Click on it and press "Enable"
-
Create OAuth credentials
- Go to "APIs & Services" → "Credentials"
- Click "Create Credentials" → "OAuth client ID"
- Configure consent screen if prompted
- Select "Web application" as application type
- Add authorized redirect :-
- Local development:
http://localhost:3000/callback/blogger - For Production:
https://yourdomain.com/callback/blogger
-
Get your credentials
- Copy your
Client ID - Copy your
Client Secret
- Copy your
-
Create MongoDB Atlas account
- Visit mongodb.com/cloud/atlas
- Sign up for free
-
Create a cluster
- Click "Build a Database"
- Choose "Free" tier (M0)
- Select your preferred region
- Click "Create Cluster"
-
Create database user
- Go to "Database Access"
- Click "Add New Database User"
- Set username and password
- Grant "Read and write to any database" privilege
-
Whitelist your IP
- Go to "Network Access"
- Click "Add IP Address"
- Select "Allow Access from Anywhere" (0.0.0.0/0) for development
- Click "Confirm"
-
Get connection string
- Go to "Database" → "Connect"
- Choose "Connect your application"
- Copy the connection string
- Replace
<password>with your database password - Replace
<dbname>with your username
Have an idea? We'd love to hear it:
- Check existing requests
- Create a new issue with:
- Detailed description
- Use case explanation
- Potential implementation ideas
This is an open-source project, and contributions are welcome! Here's how to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Feel free to modify, improve, and extend PintBlog to suit your needs!
Star | Issue | Discussion
This project is licensed under the MIT License - see the LICENSE file for details.
TL;DR: You can use this freely, modify it, sell it, whatever. Just don't blame me if something breaks!😪
This tool is created for educational and personal use purposes only. Always comply with Pinterest and Blogger's Terms of Service and API usage policies. The creator is not responsible for any misuse, API violations, or account suspensions. By using this project, you agree that you are doing so at your own risk.
Made with ❤️ and lots of 💦 by BotolMehedi