Overview

Pixela is an open-source API for tracking habits and personal metrics. Launched in 2018, its primary function is to provide a customizable backend for logging daily activities, numerical values, or categorical statuses, which are then visualized as pixelated graphs. The service is designed for individual users and developers who require a straightforward, programmatic method for self-monitoring and data visualization without the overhead of complex analytics platforms. It operates on a RESTful architecture, allowing interactions via standard HTTP methods such as POST, PUT, and GET, making it accessible from various programming environments.

Developers use Pixela to create 'graphs' which serve as containers for tracking specific metrics. For example, a user might create a graph to track daily coding hours, water intake, or reading progress. Each graph can have a specified unit (e.g., 'hours', 'ml', 'pages') and various color schemes. Data points, or 'pixels', are then posted to these graphs on a daily basis. The API supports incrementing, decrementing, and setting specific values for these pixels. This granular control allows for detailed tracking and flexible data management. The resulting visualizations are web-based graphs that can be embedded or linked, providing a visual representation of progress over time.

Pixela distinguishes itself by its focus on simplicity and programmatic control. Unlike commercial habit trackers that often come with predefined interfaces and limited customization options, Pixela provides an API-first approach, enabling users to build their own front-ends or integrate tracking into existing applications. This makes it suitable for personal projects, custom dashboards, or scenarios where a user prefers to define their own logging mechanisms. The entire service is offered for free, which aligns with its open-source philosophy and community-driven development model. The API reference outlines the available endpoints and data structures for integration, facilitating development for various use cases such as tracking fitness goals or project progress programmatically.

The system is built to minimize friction for developers. User accounts are created via an API call, and graphs are managed similarly. This contrasts with many SaaS solutions that require web-based sign-ups and configurations. The developer experience is centered around direct HTTP requests, with examples primarily provided in cURL, demonstrating its direct interface for data operations. This setup is particularly beneficial for those who prefer command-line interactions or integrating tracking into scripts and automated workflows.

Key features

  • Graph Creation and Management: Programmatically create, update, and delete customizable pixel graphs with specified units, colors, and types (Pixela API Reference).
  • Pixel Data Logging: Submit daily values to graphs using simple HTTP POST requests, supporting integer and float values for various metrics.
  • Data Retrieval: Access graph data via API endpoints to fetch pixel values, enabling custom analysis or display in external applications.
  • Webhook Support: Configure webhooks to trigger external actions or notifications upon specific Pixela events, such as pixel updates.
  • User Management API: Create and manage user accounts programmatically, including token regeneration and user deletion.
  • Open-Source Nature: The service is open-source, allowing community contributions and transparency in its development and operation.
  • Free-to-Use Service: The entire API and associated features are available without charge, supporting widespread personal and developer use.

Pricing

As of 2026-05-28, Pixela operates entirely as a free service. There are no paid tiers or subscription models for its API or associated features.

Service tier Features Price (USD)
All Users Access to all API endpoints, graph creation, pixel logging, data retrieval, webhooks, Go SDK. Free

For current pricing details, refer to the Pixela homepage.

Common integrations

Pixela's API-first design allows for integration into various custom applications and workflows. While it doesn't offer pre-built integrations with commercial platforms, its RESTful API facilitates connections with any system capable of making HTTP requests. The primary integration method involves direct API calls, often demonstrated with cURL. A Go SDK is also available.

  • Custom Applications: Developers can integrate Pixela into self-built web, mobile, or desktop applications to display custom habit trackers or dashboards (Pixela documentation).
  • CLI Tools and Scripts: Use command-line utilities or scripting languages (e.g., Python, Bash) to automate daily metric logging.
  • Workflow Automation Platforms: Integrate with platforms like Tray.io or Zapier using their HTTP request modules to log data based on events from other services. For instance, a Tray.io workflow could log a pixel when a specific task is completed in a project management tool, as described in their documentation on integration platforms.
  • IoT Devices: Send data from IoT sensors or smart devices to Pixela graphs to visualize environmental metrics or device usage.
  • Data Visualization Tools: While Pixela provides basic graph rendering, its API can feed data into more advanced visualization libraries or services for custom charting.

Alternatives

  • Cronometer: A comprehensive nutrition and fitness tracker focused on detailed dietary analysis and exercise logging.
  • Toggl Track: Primarily a time tracking application for work and projects, offering detailed reports and team functionalities.
  • Habitica: A gamified habit tracker that turns goals into a role-playing game experience with rewards and punishments.

Getting started

To begin using Pixela, you first create a user account and then establish a graph to track your desired metric. The following cURL examples demonstrate how to create a user, define a graph, and then post a pixel value, representing daily activity.

# 1. Create a User Account
# Replace YOUR_USERNAME and YOUR_TOKEN with your desired values.
curl -X POST https://pixe.la/v1/users \
  -H 'Content-Type: application/json' \
  -d '{"token":"YOUR_TOKEN","username":"YOUR_USERNAME","agreeTermsOfService":"yes","notMinor":"yes"}'

# 2. Create a Graph
# Replace YOUR_USERNAME, YOUR_TOKEN, and choose a graph ID, name, unit, type, and color.
curl -X POST https://pixe.la/v1/users/YOUR_USERNAME/graphs \
  -H 'X-USER-TOKEN: YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"id":"coding-hours","name":"Coding Hours","unit":"hour","type":"float","color":"shibafu"}'

# 3. Post a Pixel (Log a Value)
# Replace YOUR_USERNAME, YOUR_TOKEN, graph ID, and provide a date and quantity.
# Example: Log 2.5 hours for today (20260528)
curl -X POST https://pixe.la/v1/users/YOUR_USERNAME/graphs/coding-hours \
  -H 'X-USER-TOKEN: YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"date":"20260528","quantity":"2.5"}'

# 4. View Your Graph
# Open this URL in your browser to see the generated graph.
# Replace YOUR_USERNAME and graph ID.
# https://pixe.la/v1/users/YOUR_USERNAME/graphs/coding-hours.html

This sequence first creates a user, then sets up a graph named 'Coding Hours' which tracks float values. Finally, it posts a value of 2.5 for the current date to that graph. The URL provided at the end allows you to view the visualization directly in a web browser. For more detailed API calls and options, consult the Pixela API reference.