Skip to content

How to import structured recipe data via new REST API without parser? #423

Description

@moejo-jo

Platform

Web

Describe the bug

When passing a fully structured recipe via /api/v1/recipes/import/paste (either as raw JSON-LD or as HTML with embedded <script type="application/ld+json">), the recipe-scrapers parser ignores or overwrites several fields: image and url are stored as null, tags are auto-generated instead of using the provided values, metric units are converted to English (gram, tablespoon), and in some cases the recipe content is rewritten/translated via an AI fallback.

To reproduce

  1. Call POST /api/v1/recipes/import/paste with a JSON-LD recipe object containing image, url, recipeCategory and metric units
  2. Retrieve the created recipe via GET /api/v1/recipes/{id}
  3. Observe that image is null, url is null, tags are auto-generated, and units are in English

Expected behavior

Fields provided in the structured input should be stored as-is, without parser transformation. Previously this was possible via POST /api/trpc/recipes.create which accepted a fully structured JSON object and stored it directly. I would like to achieve the same result via the new /api/v1 REST API.
Is there a supported way to pass structured recipe data to the new API without going through the parser? If not, would a direct create endpoint (e.g. POST /api/v1/recipes) that bypasses the parser be considered?

Screenshots

No response

Environment

Norish version: v0.18.0-beta
Self-hosted via Docker

Additional context

I'm running an automated pipeline that imports recipes from Instagram Reels. An LLM parses the recipe from the video caption and produces structured data (name, description, image URL, video URL, ingredients with metric units, steps in German, custom tags). The data is correct before sending – the issue is that the parser overwrites or ignores it on import.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions