Social-to-Mealie
Social-to-Mealie is a TypeScript-based application that provides import recipes found on social media into Mealie.
A companion tool for Mealie that turns social media videos into structured recipes. Honestly reviewed.
TL;DR
- What it is: A small self-hosted web app that downloads a video from Instagram, TikTok, YouTube Shorts, Facebook, or Pinterest, transcribes it with Whisper, and pushes the recipe into your Mealie instance via AI parsing [README].
- Who it’s for: Mealie users who keep bookmarking cooking videos on social media and then manually typing out the recipe — this automates that one specific workflow [README].
- Cost: The software itself is free and open-source. Running costs are your VPS (shared with Mealie if you already have it) plus OpenAI API charges per import. No SaaS bill exists for the tool itself.
- Key strength: Paste a link, click import, done. The PWA and iOS Shortcut let you share directly from the native Instagram/TikTok share sheet with one tap [README].
- Key weakness: Requires an OpenAI-compatible API key and a working Mealie 1.9.0+ instance with AI configured. This is two layers of infrastructure dependency before the tool does anything useful [README]. Also: 185 GitHub stars, 19 forks, one maintainer — treat this as a personal project, not a supported product.
What is Social-to-Mealie
Social-to-Mealie is a Next.js web application that sits alongside your Mealie self-hosted recipe manager and solves one problem: getting a recipe from a cooking video into your recipe database without typing.
The workflow is: you find a recipe video on Instagram, TikTok, YouTube Shorts, Facebook, or Pinterest. You share the URL (via the native share sheet, the iOS Shortcut, or just pasting it into the web UI). Social-to-Mealie downloads the video using yt-dlp, transcribes the audio using a Whisper model, sends the transcript to a text model to parse out a structured recipe, and pushes it to your Mealie instance via its REST API [README].
The project description on GitHub is straightforward: “Import social media post to your mealie instances.” It’s a utility, not a platform. At 185 stars and 19 forks, it’s a sharp tool built by one developer (GerardPolloRebozado) to scratch a specific itch, with 33 releases and 142 commits showing consistent maintenance [GitHub].
The tool itself has no database, no user accounts, and no storage — it’s a thin pass-through. The data lives in Mealie. Social-to-Mealie is just the pipeline.
Why people choose it
There are no third-party reviews of Social-to-Mealie specifically, so this section is built from the context around it.
Mealie itself is a well-regarded self-hosted recipe manager. AlternativeTo users rate it 4.6/5, and one reviewer describes it as “a favourite recipe management app that is constantly evolving” with features like “recipe import, recipe scaling” and API integration with Home Assistant [1]. A German homelab blogger lists Mealie in their top 10 homelab services for 2024, specifically calling out the built-in scraper: “durch den eingebauten scraper können Seiten wie Chefkoch einfach ausgelesen werden” (translation: the built-in scraper can easily read recipe sites like Chefkoch) [3].
But Mealie’s built-in scraper works on HTML — recipe pages with structured data markup. It doesn’t work on video content. A TikTok or Instagram reel is a video, not a recipe page. Social-to-Mealie is the bridge for that specific case.
The people who reach for Social-to-Mealie are already committed to self-hosting Mealie and want to close the gap between “saved Instagram reel” and “recipe in my database.” The iOS Shortcut (v0.3) and PWA share target mean the import takes a single tap from the social media app itself [README]. That UX detail — share to app the same way you’d share to a notes app — is what makes this feel like a finished feature rather than a script.
Features
Core import flow:
- Paste any video URL or share via native share sheet (iOS, Android, PWA) [README]
yt-dlphandles the download — anything yt-dlp supports can theoretically be imported, not just the five tested platforms [README]- Audio transcription via OpenAI Whisper API (
whisper-1default) or a local HuggingFace model viaLOCAL_TRANSCRIPTION_MODEL[README] - AI text model parses the transcript into a structured recipe (default model listed in README as
gpt-5-mini) [README] - Recipe is pushed directly to your Mealie instance via Mealie’s REST API [README]
Mobile and PWA:
- Progressive Web App — installable on iOS and Android [README]
- iOS Shortcut v0.3 available on iCloud for one-tap share-to-import [README]
- PWA requires HTTPS; README recommends Caddy or nginx as reverse proxy [README]
AI provider flexibility:
OPENAI_URLis configurable — you can point it at any OpenAI-compatible API (Groq, OpenRouter, Ollama for text, etc.) [README]- Local transcription model supported via HuggingFace model ID for providers that don’t support the Whisper transcription API [README]
EXTRA_PROMPTvariable lets you pass additional instructions to the AI — the README specifically mentions language translation as a use case [README]
Cookie support:
COOKIESenvironment variable passes a cookies string to yt-dlp, useful for accessing content that requires login (e.g., private or age-restricted videos) [README]
What it doesn’t have:
- No authentication built in. The README explicitly warns: “be careful as opening this app to the internet as it will allow anyone to submit recipes to your Mealie instance. I recommend adding a small log in or IP whitelist.” [README]
- No batch import
- No import history or queue UI
- No retry UI for
BAD_RECIPEerrors (you get an error message and that’s it) [README]
Pricing: SaaS vs self-hosted math
There is no SaaS version of Social-to-Mealie. It’s self-hosted only.
The actual costs:
The software costs $0. Your costs are:
- A VPS to run it on — realistically $0 additional if you’re already hosting Mealie on the same machine
- OpenAI API calls per recipe import
OpenAI Whisper transcription is priced at $0.006 per minute of audio. A typical cooking reel is 1–3 minutes. A longer YouTube recipe video might be 10–15 minutes. This means roughly $0.006–$0.09 per recipe in transcription costs, plus minimal token cost for the text model parsing the transcript.
At one import per day, you’re looking at under $2/month in API costs for transcription. At ten imports per day, still under $5/month. For casual use, the API cost is negligible.
If you use a local transcription model (LOCAL_TRANSCRIPTION_MODEL via HuggingFace), transcription cost drops to $0, but you need a machine with enough RAM to run the model. For most non-technical setups, the API route is simpler [README].
What Mealie itself costs: Free and open source (AGPL-3.0) [1]. The underlying recipe manager that Social-to-Mealie pushes into is itself a zero-license-cost self-hosted app.
There’s no meaningful SaaS alternative to compare pricing against because there’s no commercial product doing exactly this. Recipe import from social video is a niche that exists in the cracks between social platforms that don’t expose APIs and recipe managers that expect structured data.
Deployment reality check
Social-to-Mealie requires Mealie 1.9.0+ with an AI provider already configured [README]. That prerequisite deserves emphasis: if you don’t already run Mealie with an AI integration, this tool adds two setup tasks, not one.
What you need before starting:
- A running Mealie instance (1.9.0+) with AI provider set up per the Mealie docs
- A Mealie API key
- An OpenAI API key (or compatible provider)
- Docker on your host
Deployment steps:
- Copy the
docker-compose.example.ymland fill in environment variables [README] docker-compose up -d- App runs on port 4000 by default (configurable via
PORT) [README]
For PWA/iOS Shortcut:
- You need HTTPS, which means a domain and reverse proxy (Caddy or nginx) [README]
- The README warns against exposing this publicly without authentication — anyone who can reach the URL can push recipes to your Mealie instance [README]
What can go sideways:
BAD_RECIPEerrors occur when the AI can’t parse the transcript into a valid Mealie recipe format. The README acknowledges this and asks for better prompts from the community [README]. This is the most common failure mode and has no automatic retry.- yt-dlp can break when platforms change their download mechanisms. The
YTDLP_VERSIONenvironment variable lets you pin a specific version, but you’re dependent on the yt-dlp project keeping up with platform changes [README]. - Cookie-protected content (age-gated videos, private accounts) requires manually supplying a cookies string. This is not a one-time setup — cookies expire and need refreshing [README].
- The “Tested AI providers compatibility” section mentioned in the GitHub page headings suggests not all OpenAI-compatible providers work identically with both transcription and text APIs — there’s “partial support” noted for some [GitHub]. The scraped data cuts off before listing which providers, so check the README directly for the current compatibility table.
Realistic time estimate for someone already running Mealie: 15–30 minutes to a working instance. For someone who needs to set up Mealie first: several hours minimum, plus the Mealie AI configuration step.
Pros and Cons
Pros
- Does one thing, does it well. Paste link → recipe in Mealie. No bloat, no dashboard, no settings screen beyond env vars [README].
- PWA + iOS Shortcut = real UX. The share-sheet integration means you never leave the social media app. This is the feature that makes it feel like a first-class workflow, not a hack [README].
- yt-dlp backend. Anything yt-dlp supports works. Instagram, TikTok, YouTube Shorts, Facebook, Pinterest are tested; other sites may work without changes [README].
- Local transcription option. If you have the hardware, you can route audio transcription through a local HuggingFace model and cut API costs to zero [README].
- Language translation via EXTRA_PROMPT. A single environment variable lets you instruct the AI to output the recipe in a different language than the video — useful for importing foreign-language cooking content [README].
- Actively maintained. 33 releases on a 185-star project indicates the maintainer is iterating, not abandoning [GitHub].
Cons
- No authentication. The README explicitly warns about this. You should not expose this on a public URL without adding your own auth layer [README]. For non-technical users, this is a real setup burden.
- Two layers of AI dependency. It requires both Mealie’s AI integration and its own OpenAI API key. If either breaks, nothing works. A bad prompt or a platform-side change can cause
BAD_RECIPEerrors with no automatic fallback [README]. - One maintainer. This is a personal project with 19 forks. There’s no company, no support contract, no SLA. If the maintainer stops updating it, you’re on your own [GitHub].
- yt-dlp fragility. Social platforms actively block scrapers. yt-dlp has broken on Instagram, YouTube, and TikTok repeatedly over the years. Expect periodic breakage [README].
- No import history. You can’t see what you’ve imported, retry failed imports from a queue, or know if a duplicate already exists in Mealie. It’s a fire-and-forget pipe [README].
- HTTPS required for PWA. The most useful feature (mobile share sheet) requires a properly configured domain and reverse proxy — a meaningful barrier for purely local setups [README].
- License not clearly documented. The merged profile shows no license field. The GitHub repository had no license clearly surfaced in the scraped data. Before embedding this in a production setup, verify the license terms directly from the repository.
Who should use this / who shouldn’t
Use Social-to-Mealie if:
- You already run a self-hosted Mealie instance with AI configured, and you regularly find yourself bookmarking cooking videos on Instagram or TikTok instead of properly saving them.
- You’re comfortable with Docker and reverse proxies, or have someone who can set that up for you once.
- The iOS Shortcut or Android share target is the workflow you actually want — share from social app, recipe appears in Mealie.
- API costs of a few cents per import are not a concern.
Skip it if:
- You don’t run Mealie. There’s no standalone value here — it’s a Mealie add-on.
- You’re looking for a recipe scraper for regular cooking websites. Mealie’s built-in URL importer already handles that [1][3].
- You need reliability. One maintainer, yt-dlp dependency, and no error recovery mean this breaks periodically. If you need it to work every time, you’ll be disappointed.
- You can’t expose a service with HTTPS on your network and the share-sheet workflow is the main reason you want this.
Consider it with caution if:
- You’re non-technical and expecting a polished product. The setup requires comfort with Docker, environment variables, and optionally reverse proxies. The tool itself is simple once running, but getting there isn’t.
Alternatives worth considering
Mealie’s built-in URL import. For recipe websites with structured data, Mealie’s native scraper handles this without any extra tools. Social-to-Mealie is only necessary for video content [1][3].
Manual entry. Mealie has a full recipe editor. For occasional imports from one-off videos, typing it out or copy-pasting a transcript takes comparable time to troubleshooting a BAD_RECIPE error.
Grocy with recipe plugins. Grocy covers broader household management including groceries and inventory, with recipe capabilities via add-ons [2]. No video import, but a different scope entirely.
Recipya. An alternative self-hosted recipe manager (GPL-3.0) with URL import for recipe websites [2]. No social video import.
ManageMeals. Simple web-based recipe manager with URL import (GPL-3.0) [2]. Again, website-focused, not video-focused.
There is no direct competitor that does the same thing (social video → structured recipe → Mealie push) as a self-hosted tool. If you want this workflow and run Mealie, Social-to-Mealie is the only option worth evaluating.
Bottom line
Social-to-Mealie is a well-scoped tool solving a real, specific problem: the gap between “found a recipe on TikTok” and “recipe actually in Mealie.” It works the way you’d want — share from your phone’s native share sheet, recipe appears in your database. The iOS Shortcut and PWA support show the maintainer thought about the actual user workflow, not just the technical pipeline.
The caveats are real but predictable for a one-person open-source project: it will break when social platforms change their video delivery, it has no auth built in, and BAD_RECIPE errors are a known issue with no automated retry. For someone already running Mealie who saves cooking videos habitually, a 30-minute setup and a few cents of API cost per import is a fair trade. For everyone else, the prerequisites make it the wrong starting point.
Sources
- AlternativeTo — Mealie: Self hosted recipe manager and meal planner (4.6/5, user reviews). https://alternativeto.net/software/mealie/about/
- AlternativeTo — Grocy Alternatives: Grocery List Apps & Recipe Managers. https://alternativeto.net/software/grocy/
- teqqy.de — Meine Top 10 Homelab Services 2024 (German homelab blog, includes Mealie review). https://teqqy.de/meine-top-10-homelab-services-2024/
Primary sources:
- GitHub repository and README: https://github.com/GerardPolloRebozado/social-to-mealie (185 stars, 19 forks, 33 releases)
Features
Integrations & APIs
- REST API
Collaboration
- Content Sharing
Mobile & Desktop
- Mobile App
- Progressive Web App (PWA)
Related Health & Lifestyle Tools
View all 53 →Monica
24KPersonal CRM for tracking interactions with friends, family, and contacts with relationship management tools.
Habitica
14KHabitica is a self-hosted habit & personal tracking tool with support for Habit Tracking, Tracking.
Mealie
12KMealie handles material design inspired recipe manager as a self-hosted solution.
Tandoor Recipes
8.1KTandoor Recipes handles manage recipes, plan meals, build shopping lists, and much much more as a self-hosted solution.
Workout.cool
7.1KWorkout.cool lets you run modern fitness coaching platform entirely on your own server.
wger
5.8KReleased under AGPL-3.0, wger provides web-based personal workout on self-hosted infrastructure.