Importing Recipes from Any Website URL
You are looking at a recipe on a website. Maybe it is AllRecipes, Food Network, NYT Cooking, BigOven, or someone's personal food blog. You want that recipe in a portable format -- JSON for an app import, Markdown for your notes, PDF for your binder. You do not want to copy and paste every ingredient and instruction by hand.
MoveMyRecipes can extract recipe data directly from a URL. Here is how it works, when it works well, and when it does not.
The Three-Layer Extraction Pipeline
When you paste a URL into movemyrecipes.com/url, MoveMyRecipes fetches the page and runs it through a pipeline of three extraction strategies, tried in order of reliability:
1. JSON-LD (Most Reliable)
JSON-LD is structured data embedded in a page's HTML inside a <script type="application/ld+json"> tag. It follows the Schema.org vocabulary, which defines a standardized Recipe type with fields for name, description, ingredients, instructions, times, yield, author, nutrition, images, ratings, and more.
Most major recipe sites include JSON-LD because Google uses it to display rich recipe cards in search results. When a page has JSON-LD recipe data, extraction is clean and reliable -- the data is already structured, labeled, and machine-readable.
The parser handles the common variations: single recipe objects, arrays of items, @graph structures (where the recipe is one of several entities described on the page), and nested HowToSection groupings within instructions.
2. Microdata (Fallback)
Some sites embed structured data using HTML microdata attributes instead of JSON-LD. This means recipe information is marked up directly in the page's HTML elements using itemtype, itemscope, and itemprop attributes.
For example, an ingredient might appear as <li itemprop="recipeIngredient">2 cups flour</li>. The parser looks for elements with itemtype="https://schema.org/Recipe" and then extracts all the relevant itemprop values.
Microdata parsing is slightly less reliable than JSON-LD because the markup is mixed into the visual HTML, which means it is more likely to be inconsistent or incomplete. The parser requires both ingredients and instructions to be present before accepting a microdata result -- partial data is discarded in favor of trying the next strategy.
3. HTML Scraping (Last Resort)
When a page has no structured data at all, the parser falls back to HTML scraping. It looks for common patterns: headings containing words like "Ingredients" or "Directions" followed by lists, CSS class names that suggest recipe content (like ingredient, instruction, recipe-body), and typical page structures used by recipe sites.
This is the least reliable approach. It works on many pages, but the results depend heavily on how the page is built. Pages with unusual layouts, heavy JavaScript rendering, or non-standard class names may not parse correctly.
Which Sites Work Well
The URL import works best with sites that use JSON-LD structured data. In practice, this includes most of the popular recipe sites:
- AllRecipes -- JSON-LD with comprehensive recipe data
- Food Network -- JSON-LD, typically well-structured
- NYT Cooking -- JSON-LD (note: the recipe page itself may require a subscription to view, but if the page is accessible, the data extracts cleanly)
- BigOven -- JSON-LD on individual recipe pages
- Serious Eats -- JSON-LD
- Bon Appetit -- JSON-LD
- Epicurious -- JSON-LD
- BBC Good Food -- JSON-LD
- Food blogs using WordPress recipe plugins -- Most popular WordPress recipe plugins (WP Recipe Maker, Tasty Recipes, Recipe Card Blocks) generate JSON-LD automatically
The common thread: any site that wants its recipes to appear as rich results in Google search almost certainly has JSON-LD markup, and MoveMyRecipes can read it.
What Gets Extracted
From a well-structured page, the parser typically extracts:
- Recipe name
- Description
- Full ingredient list
- Step-by-step instructions
- Prep time, cook time, and total time
- Yield/servings
- Category and cuisine
- Source URL
- Author
- Image URL
- Keywords
- Nutritional information (if present)
- Aggregate rating (if present)
All of this is normalized into Schema.org format, which then feeds into any of the seven export options.
When It Does Not Work
JavaScript-rendered pages. If a recipe site loads its content entirely through JavaScript after the initial page load, the fetched HTML may not contain the recipe data. MoveMyRecipes fetches the raw HTML source -- it does not run a full browser engine. Most major recipe sites serve their structured data in the initial HTML, but some single-page applications may not.
Paywalled content. If a recipe is behind a login wall or paywall, MoveMyRecipes cannot access it. The page is fetched as an anonymous visitor with no cookies or credentials.
Pages without structured data. Some older recipe sites, personal blogs without recipe plugins, or non-English sites may not include JSON-LD or microdata. The HTML scraping fallback will try its best, but results may be incomplete or missing entirely.
Non-recipe pages. If you paste a URL that is not a recipe page (a category listing, a search results page, a homepage), the parser will not find recipe data and will return nothing. Each URL should point to a single recipe page.
How to Use It
- Go to movemyrecipes.com/url.
- Paste the full URL of a recipe page.
- MoveMyRecipes fetches the page and extracts the recipe data.
- Review the parsed recipe to make sure it looks correct.
- Choose your export format: JSON, CSV, Markdown, CookLang, PDF, HTML, or Open Recipe Format.
- Download the result.
The process is free, requires no account, and your data is automatically deleted after seven days. There is no limit on the number of URLs you can process, though each one is handled individually.
A Practical Use Case
Consider someone who has bookmarked dozens of recipes across different websites over the years. Some are on AllRecipes, some on food blogs, a few on BigOven, and some on NYT Cooking. Rather than keeping a scattered collection of browser bookmarks (which break when sites redesign or remove pages), they can extract each recipe into a single Markdown file or JSON collection -- a permanent, portable archive that does not depend on any website staying online.
It takes a few minutes per recipe, but the result is a collection you actually own.
Head to movemyrecipes.com/url to try it with any recipe URL.