africa.kandake.asha.recipe.scrapeUrl

kandake.africa

{
  "id": "africa.kandake.asha.recipe.scrapeUrl",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "format": "uri"
            }
          }
        },
        "encoding": "application/json"
      },
      "errors": [
        {
          "name": "ScrapeFailed",
          "description": "Unable to extract recipe data from the provided URL."
        },
        {
          "name": "InvalidUrl",
          "description": "The URL is not reachable or not a valid recipe page."
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "recipe"
          ],
          "properties": {
            "recipe": {
              "ref": "#scrapedRecipe",
              "type": "ref"
            },
            "imageUrl": {
              "type": "string",
              "format": "uri",
              "description": "URL of the discovered header image, if any."
            }
          }
        },
        "encoding": "application/json"
      },
      "description": "Scrape a URL to extract structured recipe data. Tries schema.org parsing first, falls back to LLM extraction."
    },
    "scrapedRecipe": {
      "type": "object",
      "required": [
        "title",
        "ingredients",
        "instructions"
      ],
      "properties": {
        "notes": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "servings": {
          "type": "integer"
        },
        "nutrition": {
          "type": "string"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        },
        "ingredients": {
          "type": "array",
          "items": {
            "ref": "africa.kandake.asha.recipe.recipe#ingredient",
            "type": "ref"
          }
        },
        "instructions": {
          "type": "array",
          "items": {
            "ref": "africa.kandake.asha.recipe.recipe#instruction",
            "type": "ref"
          }
        },
        "cookTimeMinutes": {
          "type": "integer"
        },
        "prepTimeMinutes": {
          "type": "integer"
        },
        "totalTimeMinutes": {
          "type": "integer"
        }
      },
      "description": "Recipe data extracted from a URL, presented for user confirmation before writing to PDS."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against africa.kandake.asha.recipe.scrapeUrl

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:lrphxvv25aibthe7xoc2eeyy
CID
bafyreiffwowgqst2mjqfj43twk3ib544jkb7psqiqh7kzbk2kbibzzp2lu
Indexed At
2026-04-15 18:11 UTC
AT-URI
at://did:plc:lrphxvv25aibthe7xoc2eeyy/com.atproto.lexicon.schema/africa.kandake.asha.recipe.scrapeUrl

Referenced Schemas (2)

Lexicon Garden

@