Mealie website screenshot

Mealie

Mealie is an open-source (AGPL-3.0), self-hosted recipe manager, meal planner and shopping-list application built on a FastAPI REST backend and a Vue frontend. Every feature in the UI is driven by the same public REST API: recipe CRUD and import-by-URL scraping, AI-assisted recipe creation, cookbooks, meal plans and mealplan rules, shopping lists and list items with cross-application "extras" key/value pairs, households and groups with multi-purpose labels, food/unit/tool organizers, a public "Explore" surface for unauthenticated browsing of shared content, scheduled webhooks, Apprise-backed event notifications, and admin backup/maintenance operations. The instance publishes its own OpenAPI 3.1 document and interactive Swagger UI at /openapi.json and /docs, authenticates with long-lived bearer API tokens (plus OIDC and LDAP for user login), and shares a uniform pagination, filtering and ordering grammar across nearly every collection endpoint.

Mealie publishes 57 APIs on the APIs.io network, including Admin: About API, Admin: AI Providers API, Admin: Backups API, and 54 more. Tagged areas include Company, Recipes, Food, Meal Planning, and Shopping Lists.

The Mealie catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Mealie’s developer surface includes documentation, API reference, getting-started guide, support, sandbox, changelog, and 16 more developer resources.

37.0/100 thin ▬ flat Agent 27/100 agent aware saas Full breakdown ↓
scored 2026-09-15 · rubric v0.22.0
AccessSelf serve
1 APIs
CompanyRecipesFoodMeal PlanningShopping ListsSelf-HostedOpen-SourceHouseholdNutritionHome Automation

What this lets a business do 1

Business capabilities this provider's published APIs can perform, derived from its own contracts. Browse all capabilities →

Cybersecurity Management
BC-620
Admin: Manage Users
POST /api/admin/users POST /api/admin/users/unlock POST /api/admin/users/password-reset-token

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-15 · rubric v0.22.0
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/mealie: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 57

Individual APIs this provider publishes, each with its own machine-readable definition.

Mealie Admin: About API

The Admin: About API from Mealie — 3 operation(s) for admin: about.

Mealie Admin: AI Providers API

The Admin: AI Providers API from Mealie — 2 operation(s) for admin: ai providers.

Mealie Admin: Backups API

The Admin: Backups API from Mealie — 4 operation(s) for admin: backups.

Mealie Admin: Debug API

The Admin: Debug API from Mealie — 1 operation(s) for admin: debug.

Mealie Admin: Email API

The Admin: Email API from Mealie — 1 operation(s) for admin: email.

Mealie Admin: Maintenance API

The Admin: Maintenance API from Mealie — 5 operation(s) for admin: maintenance.

Mealie Admin: Manage Groups API

The Admin: Manage Groups API from Mealie — 2 operation(s) for admin: manage groups.

Mealie Admin: Manage Households API

The Admin: Manage Households API from Mealie — 2 operation(s) for admin: manage households.

Mealie Admin: Manage Users API

The Admin: Manage Users API from Mealie — 4 operation(s) for admin: manage users.

Mealie App: About API

The App: About API from Mealie — 3 operation(s) for app: about.

Mealie Explore: Categories API

The Explore: Categories API from Mealie — 2 operation(s) for explore: categories.

Mealie Explore: Cookbooks API

The Explore: Cookbooks API from Mealie — 2 operation(s) for explore: cookbooks.

Mealie Explore: Foods API

The Explore: Foods API from Mealie — 2 operation(s) for explore: foods.

Mealie Explore: Households API

The Explore: Households API from Mealie — 2 operation(s) for explore: households.

Mealie Explore: Recipes API

The Explore: Recipes API from Mealie — 3 operation(s) for explore: recipes.

Mealie Explore: Tags API

The Explore: Tags API from Mealie — 2 operation(s) for explore: tags.

Mealie Explore: Tools API

The Explore: Tools API from Mealie — 2 operation(s) for explore: tools.

Mealie Groups: AI Provider Settings API

The Groups: AI Provider Settings API from Mealie — 1 operation(s) for groups: ai provider settings.

Mealie Groups: AI Providers API

The Groups: AI Providers API from Mealie — 2 operation(s) for groups: ai providers.

Mealie Groups: Households API

The Groups: Households API from Mealie — 2 operation(s) for groups: households.

Mealie Groups: Migrations API

The Groups: Migrations API from Mealie — 1 operation(s) for groups: migrations.

Mealie Groups: Multi Purpose Labels API

The Groups: Multi Purpose Labels API from Mealie — 2 operation(s) for groups: multi purpose labels.

Mealie Groups: Reports API

The Groups: Reports API from Mealie — 2 operation(s) for groups: reports.

Mealie Groups: Seeders API

The Groups: Seeders API from Mealie — 3 operation(s) for groups: seeders.

Mealie Groups: Self Service API

The Groups: Self Service API from Mealie — 5 operation(s) for groups: self service.

Mealie Households: Cookbooks API

The Households: Cookbooks API from Mealie — 2 operation(s) for households: cookbooks.

Mealie Households: Event Notifications API

The Households: Event Notifications API from Mealie — 3 operation(s) for households: event notifications.

Mealie Households: Invitations API

The Households: Invitations API from Mealie — 2 operation(s) for households: invitations.

Mealie Households: Mealplan Rules API

The Households: Mealplan Rules API from Mealie — 2 operation(s) for households: mealplan rules.

Mealie Households: Mealplans API

The Households: Mealplans API from Mealie — 4 operation(s) for households: mealplans.

Mealie Households: Recipe Actions API

The Households: Recipe Actions API from Mealie — 3 operation(s) for households: recipe actions.

Mealie Households: Self Service API

The Households: Self Service API from Mealie — 6 operation(s) for households: self service.

Mealie Households: Shopping List Items API

The Households: Shopping List Items API from Mealie — 3 operation(s) for households: shopping list items.

Mealie Households: Shopping Lists API

The Households: Shopping Lists API from Mealie — 6 operation(s) for households: shopping lists.

Mealie Households: Webhooks API

The Households: Webhooks API from Mealie — 4 operation(s) for households: webhooks.

Mealie Organizer: Categories API

The Organizer: Categories API from Mealie — 5 operation(s) for organizer: categories.

Mealie Organizer: Tags API

The Organizer: Tags API from Mealie — 5 operation(s) for organizer: tags.

Mealie Organizer: Tools API

The Organizer: Tools API from Mealie — 3 operation(s) for organizer: tools.

Mealie Recipe: Bulk Actions API

The Recipe: Bulk Actions API from Mealie — 7 operation(s) for recipe: bulk actions.

Mealie Recipe: Comments API

The Recipe: Comments API from Mealie — 3 operation(s) for recipe: comments.

Mealie Recipe: CRUD API

The Recipe: CRUD API from Mealie — 16 operation(s) for recipe: crud.

Mealie Recipe: Exports API

The Recipe: Exports API from Mealie — 2 operation(s) for recipe: exports.

Mealie Recipe: Images and Assets API

The Recipe: Images and Assets API from Mealie — 5 operation(s) for recipe: images and assets.

Mealie Recipe: Ingredient Parser API

The Recipe: Ingredient Parser API from Mealie — 2 operation(s) for recipe: ingredient parser.

Mealie Recipe: Shared API

The Recipe: Shared API from Mealie — 2 operation(s) for recipe: shared.

Mealie Recipe: Timeline API

The Recipe: Timeline API from Mealie — 3 operation(s) for recipe: timeline.

Mealie Recipes: Foods API

The Recipes: Foods API from Mealie — 3 operation(s) for recipes: foods.

Mealie Recipes: Units API

The Recipes: Units API from Mealie — 3 operation(s) for recipes: units.

Mealie Shared: Recipes API

The Shared: Recipes API from Mealie — 2 operation(s) for shared: recipes.

Mealie Users: Authentication API

The Users: Authentication API from Mealie — 7 operation(s) for users: authentication.

Mealie Users: CRUD API

The Users: CRUD API from Mealie — 6 operation(s) for users: crud.

Mealie Users: Images API

The Users: Images API from Mealie — 1 operation(s) for users: images.

Mealie Users: Passwords API

The Users: Passwords API from Mealie — 2 operation(s) for users: passwords.

Mealie Users: Ratings API

The Users: Ratings API from Mealie — 4 operation(s) for users: ratings.

Mealie Users: Registration API

The Users: Registration API from Mealie — 1 operation(s) for users: registration.

Mealie Users: Tokens API

The Users: Tokens API from Mealie — 2 operation(s) for users: tokens.

Mealie Utils API

The Utils API from Mealie — 1 operation(s) for utils.

Scroll for all 57

Pricing Plans 1

Published pricing tiers and plan structures.

Mealie Plans Pricing

0 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Mealie Rate Limits

0 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Mealie Events

ASYNCAPI

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Mealie Authentication

oauth2/http-bearer · 2 schemes

SECURITY

Mealie Domain Security

TLSv1.3 · HSTS

SECURITY

Mealie Vulnerability Disclosure

disclosure policy published

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Mealie Scopes

OAuth 2.0 · no documented scopes

0 scopes

SCOPES

Resources

Get Started 3

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 2

MCP servers, agent skills, and machine-readable catalogs

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 4

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: mealie
name: Mealie
description: 'Mealie is an open-source (AGPL-3.0), self-hosted recipe manager, meal planner and shopping-list application
  built on a FastAPI REST backend and a Vue frontend. Every feature in the UI is driven by the same public REST API: recipe
  CRUD and import-by-URL scraping, AI-assisted recipe creation, cookbooks, meal plans and mealplan rules, shopping lists and
  list items with cross-application "extras" key/value pairs, households and groups with multi-purpose labels, food/unit/tool
  organizers, a public "Explore" surface for unauthenticated browsing of shared content, scheduled webhooks, Apprise-backed
  event notifications, and admin backup/maintenance operations. The instance publishes its own OpenAPI 3.1 document and interactive
  Swagger UI at /openapi.json and /docs, authenticates with long-lived bearer API tokens (plus OIDC and LDAP for user login),
  and shares a uniform pagination, filtering and ordering grammar across nearly every collection endpoint.'
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: false
  label: Hosted service · you call their endpoint
  confidence: medium
  source:
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  - scopes
  - rate-limits
  - security
  - sandbox
  generated: '2026-09-02'
  method: derived
image: https://avatars.githubusercontent.com/u/92342333?v=4
url: https://raw.githubusercontent.com/api-evangelist/mealie/refs/heads/main/apis.yml
x-type: company
x-source: harvest:health-device-stack
specificationVersion: '0.20'
created: '2026-08-27'
modified: '2026-08-27'
tags:
- Company
- Recipes
- Food
- Meal Planning
- Shopping Lists
- Self-Hosted
- Open-Source
- Household
- Nutrition
- Home Automation
tags_raw:
- Company
- Recipes
- Food
- Meal Planning
- Shopping Lists
- Self-Hosted
- Open Source
- Household
- Nutrition
- Home Automation
apis:
- aid: mealie:mealie-admin-about-api
  name: 'Mealie Admin: About API'
  description: 'The Admin: About API from Mealie — 3 operation(s) for admin: about.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: About'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-about-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-ai-providers-api
  name: 'Mealie Admin: AI Providers API'
  description: 'The Admin: AI Providers API from Mealie — 2 operation(s) for admin: ai providers.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: AI Providers'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-ai-providers-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-backups-api
  name: 'Mealie Admin: Backups API'
  description: 'The Admin: Backups API from Mealie — 4 operation(s) for admin: backups.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: Backups'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-backups-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-debug-api
  name: 'Mealie Admin: Debug API'
  description: 'The Admin: Debug API from Mealie — 1 operation(s) for admin: debug.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: Debug'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-debug-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-email-api
  name: 'Mealie Admin: Email API'
  description: 'The Admin: Email API from Mealie — 1 operation(s) for admin: email.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: Email'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-email-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-maintenance-api
  name: 'Mealie Admin: Maintenance API'
  description: 'The Admin: Maintenance API from Mealie — 5 operation(s) for admin: maintenance.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - Admin - Maintenance
  tags_raw:
  - 'Admin: Maintenance'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-maintenance-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-manage-groups-api
  name: 'Mealie Admin: Manage Groups API'
  description: 'The Admin: Manage Groups API from Mealie — 2 operation(s) for admin: manage groups.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: Manage Groups'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-manage-groups-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-manage-households-api
  name: 'Mealie Admin: Manage Households API'
  description: 'The Admin: Manage Households API from Mealie — 2 operation(s) for admin: manage households.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: Manage Households'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-manage-households-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-admin-manage-users-api
  name: 'Mealie Admin: Manage Users API'
  description: 'The Admin: Manage Users API from Mealie — 4 operation(s) for admin: manage users.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Admin: Manage Users'
  properties:
  - type: OpenAPI
    url: openapi/mealie-admin-manage-users-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-app-about-api
  name: 'Mealie App: About API'
  description: 'The App: About API from Mealie — 3 operation(s) for app: about.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'App: About'
  properties:
  - type: OpenAPI
    url: openapi/mealie-app-about-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-explore-categories-api
  name: 'Mealie Explore: Categories API'
  description: 'The Explore: Categories API from Mealie — 2 operation(s) for explore: categories.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Explore: Categories'
  properties:
  - type: OpenAPI
    url: openapi/mealie-explore-categories-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-explore-cookbooks-api
  name: 'Mealie Explore: Cookbooks API'
  description: 'The Explore: Cookbooks API from Mealie — 2 operation(s) for explore: cookbooks.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Explore: Cookbooks'
  properties:
  - type: OpenAPI
    url: openapi/mealie-explore-cookbooks-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-explore-foods-api
  name: 'Mealie Explore: Foods API'
  description: 'The Explore: Foods API from Mealie — 2 operation(s) for explore: foods.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Explore: Foods'
  properties:
  - type: OpenAPI
    url: openapi/mealie-explore-foods-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-explore-households-api
  name: 'Mealie Explore: Households API'
  description: 'The Explore: Households API from Mealie — 2 operation(s) for explore: households.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Explore: Households'
  properties:
  - type: OpenAPI
    url: openapi/mealie-explore-households-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-explore-recipes-api
  name: 'Mealie Explore: Recipes API'
  description: 'The Explore: Recipes API from Mealie — 3 operation(s) for explore: recipes.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Explore: Recipes'
  properties:
  - type: OpenAPI
    url: openapi/mealie-explore-recipes-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-explore-tags-api
  name: 'Mealie Explore: Tags API'
  description: 'The Explore: Tags API from Mealie — 2 operation(s) for explore: tags.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Explore: Tags'
  properties:
  - type: OpenAPI
    url: openapi/mealie-explore-tags-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-explore-tools-api
  name: 'Mealie Explore: Tools API'
  description: 'The Explore: Tools API from Mealie — 2 operation(s) for explore: tools.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Explore: Tools'
  properties:
  - type: OpenAPI
    url: openapi/mealie-explore-tools-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-ai-provider-settings-api
  name: 'Mealie Groups: AI Provider Settings API'
  description: 'The Groups: AI Provider Settings API from Mealie — 1 operation(s) for groups: ai provider settings.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: AI Provider Settings'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-ai-provider-settings-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-ai-providers-api
  name: 'Mealie Groups: AI Providers API'
  description: 'The Groups: AI Providers API from Mealie — 2 operation(s) for groups: ai providers.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: AI Providers'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-ai-providers-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-households-api
  name: 'Mealie Groups: Households API'
  description: 'The Groups: Households API from Mealie — 2 operation(s) for groups: households.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: Households'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-households-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-migrations-api
  name: 'Mealie Groups: Migrations API'
  description: 'The Groups: Migrations API from Mealie — 1 operation(s) for groups: migrations.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: Migrations'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-migrations-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-multi-purpose-labels-api
  name: 'Mealie Groups: Multi Purpose Labels API'
  description: 'The Groups: Multi Purpose Labels API from Mealie — 2 operation(s) for groups: multi purpose labels.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: Multi Purpose Labels'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-multi-purpose-labels-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-reports-api
  name: 'Mealie Groups: Reports API'
  description: 'The Groups: Reports API from Mealie — 2 operation(s) for groups: reports.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: Reports'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-reports-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-seeders-api
  name: 'Mealie Groups: Seeders API'
  description: 'The Groups: Seeders API from Mealie — 3 operation(s) for groups: seeders.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: Seeders'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-seeders-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-groups-self-service-api
  name: 'Mealie Groups: Self Service API'
  description: 'The Groups: Self Service API from Mealie — 5 operation(s) for groups: self service.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Groups: Self Service'
  properties:
  - type: OpenAPI
    url: openapi/mealie-groups-self-service-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-problem-types.yml
  - type: DataModel
    url: data-model/mealie-data-model.yml
  - type: Conventions
    url: conventions/mealie-conventions.yml
  - type: RateLimits
    url: rate-limits/mealie-rate-limits.yml
  - type: Webhooks
    url: asyncapi/mealie-events.yml
  - type: Conformance
    url: conformance/mealie-conformance.yml
  - type: Lifecycle
    url: lifecycle/mealie-lifecycle.yml
  - type: Sandbox
    url: sandbox/mealie-sandbox.yml
- aid: mealie:mealie-households-cookbooks-api
  name: 'Mealie Households: Cookbooks API'
  description: 'The Households: Cookbooks API from Mealie — 2 operation(s) for households: cookbooks.'
  humanURL: https://docs.mealie.io/documentation/getting-started/api-usage/
  baseURL: https://demo.mealie.io/api
  tags:
  - 'Households: Cookbooks'
  properties:
  - type: OpenAPI
    url: openapi/mealie-households-cookbooks-api-openapi.yml
  - type: Documentation
    url: https://docs.mealie.io/documentation/getting-started/api-usage/
  - type: APIReference
    url: https://demo.mealie.io/docs
  - type: Authentication
    url: authentication/mealie-authentication.yml
  - type: OAuthScopes
    url: scopes/mealie-scopes.yml
  - type: ErrorCatalog
    url: errors/mealie-

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mealie/refs/heads/main/apis.yml

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/mealie"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/mealie/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/mealie/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.