Etsy in,
Pinterest out.
Full-stack FastAPI dashboard with Claude Sonnet niche-aware SEO generation, smart image processing, perceptual deduplication, research-backed scheduling, and dual posting via Make.com or Pinterest API v5.
What is Etsy to Pinterest Pipeline?
The Etsy to Pinterest Pipeline is a full-stack Python web application that imports Etsy listings (via API or CSV), processes images with smart cropping and perceptual deduplication, generates niche-aware Pinterest SEO (titles, descriptions, alt text, keywords, board assignments) using Claude Sonnet, and posts through Make.com webhooks or the Pinterest API v5 on a research-backed schedule. A FastAPI dashboard with 7 screens handles the entire workflow from import to posting.
What was broken.
Running a print-on-demand Etsy shop means uploading new designs regularly, and every new design needs to be cross-promoted on Pinterest. Pinterest is where print-on-demand lives or dies: it is the discovery engine, and a listing without pins is a listing that does not sell.
The manual version of this workflow takes 30 to 60 minutes per day. For every new Etsy listing: download the cover image, resize it to Pinterest dimensions, log into Pinterest, pick a board, write a pin title, write a description with the right keywords, add alt text, schedule it. Multiply by 5 to 10 listings per week and you have a daily grind that directly impacts revenue. Skip a week and sales dip.
Generic scheduling tools (Tailwind, Later, Planoly) solve the posting part but not the content part. They do not write descriptions. They do not know what niche a product belongs to. They do not understand that a watercolour clipart set needs different SEO than a minimalist logo template. The result is formulaic pin descriptions ("Beautiful design! Perfect gift! Click to buy!") that Pinterest throttles and users ignore.
The gap was clear: scheduling is solved, but niche-aware content generation for Pinterest SEO is not. That is what this system builds.
What was built.
The system is a three-stage pipeline wrapped in a full web dashboard. Stage one handles listing import: either pulling from the Etsy API directly or importing a CSV export. Images are downloaded, smart-cropped to Pinterest's 2:3 ratio using Pillow, and deduplicated with perceptual hashing (imagehash) so the same design never gets pinned twice even if it appears in different listings.
Stage two is the Claude SEO layer. Each listing runs through Claude Sonnet with a prompt that first detects the product niche (watercolour, minimalist, vintage, boho, kids, wedding, and 10+ others), then generates Pinterest-optimised titles, descriptions, alt text, keyword sets, and board assignments using niche-specific vocabulary and SEO rules. The sweet spot for Pinterest descriptions is 220 to 232 characters, with the primary keyword in the first 80 characters. Claude encodes all of this.
Stage three is review, scheduling, and posting. A review queue lets me approve, edit, or reject every pin before it goes live. Approved pins enter a scheduler with research-backed timing presets (video pins weighted 3x for reach). Posting goes through either a Make.com webhook or the Pinterest API v5 directly, with full logging back to the database.
Architecture in plain English.
See it in action.
Walk through the full pipeline: importing Etsy listings, processing images, generating niche-aware SEO with Claude Sonnet, reviewing pins in the dashboard, scheduling, and posting to Pinterest.
Guided walkthrough with sample data. The live system processes real Etsy listings.
Etsy listing in, Pinterest pin out. Seven automated steps, one human review.
Built with.
What changed.
The biggest lesson from this build is that Pinterest SEO is niche-dependent. A watercolour clipart set and a minimalist logo template need completely different keyword strategies, description styles, and board placements. Generic tools treat them the same. The Claude layer detects the niche first and adjusts everything downstream, which is why the output reads like a designer wrote it, not a bot.
Want a system
like this one?
Book a free 30-minute call. We map your situation, scope a similar build, and agree on a fixed quote before anything starts.
Book Free 30-min Call