SparkyFitness

SparkyFitness is a self-hosted, open-source health and fitness tracker for food, exercise, water, sleep, mood, body measurements and medications, built for families and designed around an AI assistant. It ships a full Express 5 + PostgreSQL REST API (423 operations across 328 paths, described by an OpenAPI 3.0 document the server generates and serves at /api/api-docs/json) and — unusually for a project this size — a first-party Model Context Protocol server running in-process at POST /mcp, exposing 56 tools for logging and reading a user's own health data under PostgreSQL row-level security. It synchronises with Garmin, Fitbit, Withings, Strava, Polar, Oura, Hevy, Apple HealthKit and Google Health Connect, and looks food up against OpenFoodFacts, USDA, FatSecret and Nutritionix. Because it is self-hosted, there is no vendor API host, no pricing and no signup: you run the containers and the API is yours. Distributed under a source-available non-commercial licence.

SparkyFitness publishes 1 API on the APIs.io network. Tagged areas include Company, Health, Fitness, Nutrition, and Self-Hosted.

SparkyFitness’ developer surface includes documentation, API reference, getting-started guide, support, FAQ, changelog, and 15 more developer resources.

42.7/100 developing Agent 34/100 agent ready Full breakdown ↓
scored 2026-08-27 · rubric v0.15.1
2 APIs 1 MCP Servers
CompanyHealthFitnessNutritionSelf-HostedOpen SourceWearablesMCPAI AssistantQuantified Self

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-27 · rubric v0.15.1
Composite quality — 42.7/100 · developing
Contract Quality 9.4 / 21
Developer Ergonomics 10.5 / 17
Access Clarity 1.8 / 17
Operational Transparency 4.7 / 11
Contract Governance 3.1 / 10
Discoverability 5.8 / 9
Regulatory Posture 3.9 / 15
Agent readiness — 34/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 0 / 10
Documented Reversibility 0 / 6
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 9 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Delegated User Identity 0 / 6
Protected Resource Metadata 0 / 5
Registration Without a Human 0 / 6
Agentic Commerce Surface 0 / 5
Regulatory Posture applies to this provider. Its tags matched the Health 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.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% 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/. This rating is computed from github.com/api-evangelist/sparkyfitness: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 2

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

SparkyFitness API

The REST API served by the SparkyFitness server on your own deployment. 423 operations across nine functional areas — nutrition and meals, fitness and workouts, wellness and met...

SparkyFitness MCP Server

A first-party Model Context Protocol server running in-process inside the SparkyFitness API server, mounted at POST /mcp over a stateless streamable HTTP transport. 56 tools acr...

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Sparkyfitness Rate Limits

2 limits

RATE LIMITS

Security Posture 3

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

Sparkyfitness Authentication

0 schemes

SECURITY

Resources

Get Started 2

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

Design & Contract 2

Pagination, idempotency, versioning, errors, and events

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Operate 5

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: sparkyfitness
name: SparkyFitness
description: 'SparkyFitness is a self-hosted, open-source health and fitness tracker for food, exercise, water, sleep, mood,
  body measurements and medications, built for families and designed around an AI assistant. It ships a full Express 5 + PostgreSQL
  REST API (423 operations across 328 paths, described by an OpenAPI 3.0 document the server generates and serves at /api/api-docs/json)
  and — unusually for a project this size — a first-party Model Context Protocol server running in-process at POST /mcp, exposing
  56 tools for logging and reading a user''s own health data under PostgreSQL row-level security. It synchronises with Garmin,
  Fitbit, Withings, Strava, Polar, Oura, Hevy, Apple HealthKit and Google Health Connect, and looks food up against OpenFoodFacts,
  USDA, FatSecret and Nutritionix. Because it is self-hosted, there is no vendor API host, no pricing and no signup: you run
  the containers and the API is yours. Distributed under a source-available non-commercial licence.'
url: https://raw.githubusercontent.com/api-evangelist/sparkyfitness/refs/heads/main/apis.yml
x-type: company
x-source: harvest:health-device-stack
image: https://codewithcj.github.io/SparkyFitness/logo.png
specificationVersion: '0.20'
created: '2026-08-27'
modified: '2026-08-27'
tags:
- Company
- Health
- Fitness
- Nutrition
- Self-Hosted
- Open Source
- Wearables
- MCP
- AI Assistant
- Quantified Self
apis:
- name: SparkyFitness API
  description: The REST API served by the SparkyFitness server on your own deployment. 423 operations across nine functional
    areas — nutrition and meals, fitness and workouts, wellness and metrics, goals and personalization, medications and GLP-1,
    external integrations, identity and security, AI and insights, and system administration. API-key authenticated, scoped
    by PostgreSQL row level security to the key's user.
  humanURL: https://codewithcj.github.io/SparkyFitness/developer/api-reference
  baseURL: https://{host}/api
  tags:
  - Health
  - Fitness
  - Nutrition
  - REST
  properties:
  - type: OpenAPI
    url: openapi/sparkyfitness-openapi.yml
  - type: Documentation
    url: https://codewithcj.github.io/SparkyFitness/developer/api-reference
  - type: Authentication
    url: authentication/sparkyfitness-authentication.yml
  - type: ErrorCatalog
    url: errors/sparkyfitness-problem-types.yml
  - type: Conventions
    url: conventions/sparkyfitness-conventions.yml
  - type: Idempotency
    url: conventions/sparkyfitness-conventions.yml
  - type: RateLimits
    url: rate-limits/sparkyfitness-rate-limits.yml
  - type: DataModel
    url: data-model/sparkyfitness-data-model.yml
  - type: Overlay
    url: overlays/sparkyfitness-openapi-overlay.yaml
- name: SparkyFitness MCP Server
  description: A first-party Model Context Protocol server running in-process inside the SparkyFitness API server, mounted
    at POST /mcp over a stateless streamable HTTP transport. 56 tools across food, exercise, check-ins, goals, coaching, vision,
    profile, reports and medications, authenticated with a Bearer API key and scoped to that key's user by row level security.
    Five admin-only developer tools bypass RLS and are off unless DEV_TOOLS_ENABLED=true.
  humanURL: https://codewithcj.github.io/SparkyFitness/features/mcp-server
  baseURL: https://{host}/mcp
  tags:
  - MCP
  - AI Assistant
  - Agents
  properties:
  - type: MCPServer
    url: mcp/sparkyfitness-mcp.yml
  - type: ToolCrosswalk
    url: mcp/sparkyfitness-tool-crosswalk.yml
  - type: Documentation
    url: https://codewithcj.github.io/SparkyFitness/features/mcp-server
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
common:
- type: Website
  url: https://codewithcj.github.io/SparkyFitness/
- type: Documentation
  url: https://codewithcj.github.io/SparkyFitness/
- type: DeveloperPortal
  url: https://codewithcj.github.io/SparkyFitness/developer/getting-started
- type: APIReference
  url: https://codewithcj.github.io/SparkyFitness/developer/api-reference
- type: GettingStarted
  url: https://codewithcj.github.io/SparkyFitness/install/docker-compose
- type: Support
  url: https://codewithcj.github.io/SparkyFitness/help-me
- type: HelpCenter
  url: https://discord.gg/vcnMT5cPEA
- type: GitHubOrganization
  url: https://github.com/CodeWithCJ
- type: SourceCode
  url: https://github.com/CodeWithCJ/SparkyFitness
- type: PrivacyPolicy
  url: https://codewithcj.github.io/SparkyFitness/privacy_policy
- type: License
  url: https://github.com/CodeWithCJ/SparkyFitness/blob/main/LICENSE
- type: FAQ
  url: https://codewithcj.github.io/SparkyFitness/faq
- type: ChangeLog
  url: https://github.com/CodeWithCJ/SparkyFitness/releases
- type: ChangeLog
  url: changelog/sparkyfitness-changelog.yml
- type: Packages
  url: packages/sparkyfitness-packages.yml
- type: Conformance
  url: conformance/sparkyfitness-conformance.yml
- type: Lifecycle
  url: lifecycle/sparkyfitness-lifecycle.yml
- type: Plans
  url: plans/sparkyfitness-plans-pricing.yml
- type: LLMsTxt
  url: llms/sparkyfitness-llms.txt
- type: AgentSkill
  url: skills/_index.yml
- type: DomainSecurity
  url: security/sparkyfitness-domain-security.yml
x-enrichment:
  date: '2026-08-27'
  status: enriched
  artifacts_added: 23
  pass: local-v1

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/sparkyfitness"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/sparkyfitness/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/sparkyfitness/evidence"

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

Get an API key

Free tier, no email required.

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