ReadonlyidUnique identifier for this provider (e.g., 'hellofresh')
ReadonlynameHuman-readable display name shown in the UI
ReadonlylogoURL to the provider's logo image
Optional ReadonlysupportedLanguages this provider supports. If undefined, available for all languages.
Returns the base URL for this provider, resolved from the user's locale
Promise resolving to the provider's base URL
Discovers recipe URLs from the provider with streaming progress updates
Discovery options including abort signal and max recipes
Parses selected recipes to extract full recipe data with streaming progress
Recipes selected by the user for import
Parsing options including abort signal and default persons
Fetches and parses a single recipe from its URL
URL of the recipe page to fetch
Default serving size if not specified in the recipe
Patterns for ingredients to skip during parsing
Optionalsignal: AbortSignalOptional abort signal for cancellation
Promise resolving to the fetched and converted recipe
Fetches just the image URL for a recipe page on-demand
Used for visibility-based lazy loading of images. Returns null if no image is found or the fetch fails.
Recipe page URL to fetch image for
Abort signal for cancellation
Promise resolving to image URL or null
Returns true if this provider can handle the given recipe source URL
Used to find the correct provider for a recipe URL without calling any async methods. Implementations should check URL prefixes against their known base URL(s).
Recipe source URL to test
true if this provider owns the URL
Interface for recipe source providers
Defines the contract that all recipe providers must implement to support bulk recipe import from external websites.