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.

38.2/100 thin ▬ flat Agent 27/100 agent aware Front door AI 3/6 light saas Full breakdown ↓
scored 2026-10-04 · rubric v0.23.0
AccessSelf serve
1 published contract
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-10-04 · rubric v0.23.0
Regulatory Posture applies to this provider. Its tags matched the Horizontal (data, software, accessibility, platform) regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
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.
The six quality facets above are damped to 75 points between them, because the conditional facet above carries the other 25. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 75% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
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'
x-docs-platform: mkdocs
x-docs-platform-confidence: medium
x-docs-platform-checked: 2026-10-04
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


# --- 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.