Connecting to Beeminder
Using API Key Authentication
Beeminder uses API Key authentication. To obtain your API key, log in to your Beeminder account and navigate to Settings > Account > Personal Auth Token. Copy the auth_token value for use in the connection string.
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to APIKey.
- AuthToken: Set this to your personal auth token obtained from Beeminder account settings.
Example Connection String
Profile=C:\profiles\Beeminder.apip;AuthScheme=APIKey;ProfileSettings='AuthToken=your_auth_token';
Connecting to Beeminder
Once the authentication is configured, you can connect to Beeminder and read and write data from any of the available tables such as Goals, Datapoints, ArchivedGoals and Users.
Available Tables
The Beeminder API Profile provides access to the following tables:
- Users: Access user account information and settings
- Goals: Query, create, and update active goals with progress tracking and commitment details
- ArchivedGoals: Access archived (completed or failed) goals
- Datapoints: Query, create, update, and delete datapoints for specific goals with timestamp and value tracking
Usage Examples
ArchivedGoals:
SELECT * FROM ArchivedGoals WHERE Username = 'your_username'
Datapoints:
SELECT * FROM Datapoints WHERE Username = 'your_username' AND GoalSlug = 'goal_slug'
INSERT INTO Datapoints (Username, GoalSlug, Value, Comment) VALUES ('your_username', 'pushups-daily', 25.0, 'Morning workout session')
UPDATE Datapoints SET Value = 30.0, Comment = 'Updated: counted correctly' WHERE Username = 'your_username' AND GoalSlug = 'pushups-daily' AND Id = 'abc123def456'
DELETE FROM Datapoints WHERE Username = 'your_username' AND GoalSlug = 'pushups-daily' AND Id = 'abc123def456'
Goals:
SELECT * FROM Goals WHERE Username = 'your_username'
INSERT INTO Goals (Username, Slug, GoalType, Gunits, Rate, GoalDate) VALUES ('your_username', 'pushups-daily', 'hustler', 'pushups', 10.0, '2026-12-31')
UPDATE Goals SET Title = 'Daily Pushups Goal', Yaxis = 'Total pushups', IsDatapublic = true WHERE Username = 'your_username' AND Slug = 'pushups-daily'
Users:
SELECT * FROM Users
Required Input Parameters
Some tables require input parameters in the WHERE clause:
- Goals: Requires Username parameter
- ArchivedGoals: Requires Username parameter
- Datapoints: Requires Username and GoalSlug parameters
API Documentation
For more information about the Beeminder API, visit: https://api.beeminder.com
Important Notes
- Goals INSERT: Exactly two of GoalVal, GoalDate, and Rate must be specified; Beeminder calculates the third from the other two.
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT, OAUTH_PASSWORD |