Build your own tools on top of your REPS hour log

Build your own tools on top of your REPS hour log

Premium

·

iOS, Android, web

The Public API and Developer Portal let you connect your own scripts, spreadsheets and apps to your REPSLog account over a standard REST API. It is for real estate investors tracking hours for REPS or the STR loophole who want to automate logging from another tool or pull their totals into a report, and for developers building for them. Entries written through the API appear in REPSLog on iPhone, Android and the web app like any other entry.

What it does

The API lives at https://api.reps-log.com/v1. It is versioned, returns JSON, and reads and writes the same account you use in the app.

You manage access in the Developer Portal at api.reps-log.com. Sign in with the same account you use in the app (magic link, Google or passkey), then create a key under Keys with New key. Each key has a name, a set of scopes and an optional expiry date. The secret looks like rl_<keyId>.<secret> and is shown once, at creation; REPSLog never stores the full value, so if you lose it you rotate the key for a new secret. Rotate replaces the secret and keeps the name and scopes; the old secret stops working immediately. Revoke disables the key for good and keeps it listed for your records. The Keys list filters by Active, Revoked and All.

Scopes are granted per key and per resource. Time logs have a read scope and a write scope; properties, categories, participants, summaries and settings are read only. A key that only builds reports never needs write access.

With a key you can create a time log (property, description, duration in minutes, and optionally category, date and participant of self or spouse), update or delete a time log by id, and list time logs with filters for date range, property, category and STR or LTR (so an Airbnb or Vrbo host can pull only short-term rental hours), paged with a cursor. You can list properties, categories and participants; get an hours summary for a date range with optional filters and a per-property breakdown; get a breakdown, goal progress, dashboard figures and flexible stats, the same numbers the app shows; read a short list of account settings; and ask which account a key belongs to. Creating an entry accepts an Idempotency-Key header so a retried request never logs twice.

The portal also has a Playground to call any endpoint in the browser with one of your keys (held in memory only), a Getting Started page with curl examples, and the full reference at api.reps-log.com/v1/docs with a try-it console. The OpenAPI document is at api.reps-log.com/v1/openapi.json. Both are public.

How it works

  1. Open api.reps-log.com in a browser and sign in with your REPSLog account.

  2. Go to Keys and select New key. Name it (for example, “Spreadsheet sync”), tick the scopes it needs, set an expiry if you want one, and select Create. If you are not on Premium, this is where you are asked to upgrade.

  3. Copy the secret from the one-time reveal screen and store it in a secrets manager or environment variable.

  4. Send requests to https://api.reps-log.com/v1 with the header Authorization: Bearer rl_<keyId>.<secret>.

  5. Start by calling the properties and categories endpoints to get ids, then create a time log with a property id, a description and a duration between 1 and 1,440 minutes. A success returns 201 with the saved entry, including its source of public-api.

  6. Read back with the time logs list or the hours summary. When a list has more pages the response includes a cursor to pass on the next call.

  7. Open the app to see the entries. If a key is exposed, open it in the portal and choose Rotate (to keep the integration running) or Revoke (to shut it off). Either takes effect on the next request.

Why it matters for your hours

Some investors already have a system: a property management platform with a task log, a spreadsheet of turnovers, a calendar of site visits. An audit cares that the record was kept as the work happened and that it is complete. The API lets you push those hours into REPSLog as they occur, so one log holds everything your CPA needs, with the dates, properties and participants the material participation tests turn on.

The read side supports the reporting you do around the 500-hour and 100-hour tests: hours by property, by participant, STR against LTR, over any date range. Pull them into your own dashboard or hand your CPA a live sheet. The judgement about which test you meet stays with your CPA; the API keeps the data complete and current.

If you host on Airbnb or Vrbo and rely on the STR loophole, the number your CPA wants is per property: 100 hours in each short-term rental by default, and more than any cleaner, co-host or manager who worked on it. A short script can call goal progress, which returns your STR goal and the hours logged at each property, or the hours summary with propertyType=str for a per-property breakdown. The breakdown endpoint splits STR hours by participant, so the comparison against the people you pay is in the same data. Pull it into a sheet monthly and each listing’s gap shows before year end. Whether you pass is your CPA’s judgement.

Good to know

  • Premium only. Anyone can sign in to the portal and read the docs, but creating a key prompts an upgrade, and requests from a non-Premium account return 403.

  • The other cause of 403 is a key that lacks the scope for the endpoint. 401 means a missing, invalid, revoked or expired key. 404 is a resource that is not yours or does not exist. 400 is a validation error with the field named.

  • Rate limit: 60 requests per 60 seconds per key. Over the limit you get 429 with a Retry-After header and RateLimit headers describing the quota.

  • Description is limited to 2,000 characters; duration to 1 to 1,440 minutes; date defaults to today. STR or LTR is inherited from the property.

  • Properties, categories and participants are read only through the API.

  • Keys act only on your own account.

  • Deleting your REPSLog account removes your API keys.

Frequently asked questions

Does REPSLog have an API?

Yes. A versioned REST API at https://api.reps-log.com/v1 lets you create, update, delete and list time logs, read properties, categories and participants, and pull hours summaries and stats. It is a Premium feature.

Where do I get a REPSLog API key?

In the Developer Portal at api.reps-log.com. Sign in with your app account, open Keys and select New key. The secret is shown once, so copy it straight away.

Can I automate logging REPS hours from another tool?

Yes. Any tool that can send an HTTP request with a bearer token can create time logs. Use the Idempotency-Key header on retries so a flaky connection never creates duplicates.

Is the REPSLog API free?

No. It is included with REPSLog Premium. The documentation at api.reps-log.com/v1/docs is public, so you can read it before you subscribe.

What are API scopes in REPSLog?

Permissions you pick per key. Time logs can be read or read and write; properties, categories, participants, summaries and settings are read only. A key without the right scope gets a 403.

Can I use the API to get hours per short-term rental?

Yes. Call goal progress for your STR goal and the hours logged at each short-term rental, or the hours summary with propertyType=str for a per-property breakdown over any date range. Time logs can be listed with the same STR filter.

Is the REPSLog API a good alternative to exporting a CSV?

When you want the data on a schedule, yes: pull entries, per-property summaries and goal progress from your own script instead of exporting by hand. The CSV export remains the right tool for a one-off year-end file.

Related features

Learn more

Key creation, scopes, rotation and the Playground are covered step by step in the Help Center: Developer Portal & API keys. The endpoint reference with curl examples is in Developer quickstart & API reference.

From the blog: Can I log REPS hours from Claude or any AI assistant?.

Try REPSLog free for 14 days on iOS, Android or the web app.

Try REPSLog free for 14 days

iPhone, Android and web. Your hours, audit-ready.