{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "solidtime-io--solidtime",
    "name": "solidtime",
    "tagline": "Laravel time tracker for freelancers and agencies with a full REST API for entries, projects, reports and invoices.",
    "shortTagline": "Laravel time tracker",
    "description": "solidtime tracks time against clients, projects and tasks with billable rates, roles, multiple organizations, and imports from Toggl and Clockify. The Builder publishes an OpenAPI-described REST API (v1) covering time entries, projects, tasks, clients, members, tags, reports, exports and invoices, with personal API tokens. Self-hosting uses a documented .env; solidtime cloud has a free Solo plan and a paid Professional plan.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "scheduling-staffing",
    "alternativeTo": [
      "Toggl Track",
      "Harvest",
      "Clockify"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "PHP",
        "TypeScript"
      ],
      "frameworks": [
        "Laravel",
        "Vue",
        "Laravel Passport",
        "Octane"
      ],
      "packageManager": "composer",
      "database": [
        "PostgreSQL"
      ],
      "hostingTarget": [
        "docker"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/solidtime-io/solidtime",
        "owner": "solidtime-io",
        "name": "solidtime",
        "license": "AGPL-3.0",
        "stars": 8897,
        "lastCommit": "2026-09-01"
      }
    ],
    "interface": {
      "kind": "api",
      "url": "https://docs.solidtime.io/api-reference",
      "official": true,
      "hosted": "both"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create, edit and stop time entries",
        "reachable": true,
        "evidence": "openapi.json.client.ts paths /v1/organizations/{}/time-entries and /v1/users/me/time-entries/active"
      },
      {
        "job": "Manage projects, tasks and project members",
        "reachable": true,
        "evidence": "paths /projects, /tasks, /projects/{}/project-members"
      },
      {
        "job": "Manage clients",
        "reachable": true,
        "evidence": "path /v1/organizations/{}/clients"
      },
      {
        "job": "Manage members and invitations",
        "reachable": true,
        "evidence": "paths /members, /invitations, /invitations/{}/resend"
      },
      {
        "job": "Tag entries",
        "reachable": true,
        "evidence": "path /v1/organizations/{}/tags"
      },
      {
        "job": "Run and share reports",
        "reachable": true,
        "evidence": "paths /reports, /time-entries/aggregate, /v1/public/reports"
      },
      {
        "job": "Export time data",
        "reachable": true,
        "evidence": "paths /time-entries/export, /time-entries/aggregate/export, /export"
      },
      {
        "job": "Create and download invoices",
        "reachable": true,
        "evidence": "paths /invoices, /invoices/{}/download, /invoice-settings; invoicing is a Professional feature on cloud"
      },
      {
        "job": "Import from Toggl or Clockify",
        "reachable": true,
        "evidence": "paths /import and /importers"
      },
      {
        "job": "Create API tokens",
        "reachable": false,
        "evidence": "/v1/users/me/api-tokens exists but the first token is issued from a logged-in browser session"
      }
    ],
    "editions": [
      {
        "name": "Self-hosted",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/solidtime-io/solidtime"
          },
          {
            "kind": "container",
            "url": "https://docs.solidtime.io/self-hosting/intro"
          }
        ]
      },
      {
        "name": "Cloud Solo",
        "price": {
          "amount": 0,
          "currency": "EUR",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://www.solidtime.io/"
          }
        ]
      },
      {
        "name": "Cloud Professional",
        "price": {
          "amount": 9,
          "currency": "EUR",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://www.solidtime.io/pricing"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or published skill found in the repo."
    },
    "customization": {
      "summary": "Set APP_URL, APP_KEY and the DB_* PostgreSQL variables, MAIL_* for invitations and reports, and APP_ENABLE_REGISTRATION (on, invite-only, off) plus SUPER_ADMINS to control who gets in. PASSPORT_PRIVATE_KEY and PASSPORT_PUBLIC_KEY back API tokens; GOTENBERG_URL is needed for PDF reports and invoices; S3_* for file storage. Rates, projects, roles and invoice templates are set in the UI.",
      "envVars": [
        "APP_URL",
        "APP_KEY",
        "APP_ENABLE_REGISTRATION",
        "SUPER_ADMINS",
        "APP_FORCE_HTTPS",
        "TRUSTED_PROXIES",
        "DB_HOST",
        "DB_PORT",
        "DB_DATABASE",
        "DB_USERNAME",
        "DB_PASSWORD",
        "MAIL_MAILER",
        "MAIL_HOST",
        "MAIL_FROM_ADDRESS",
        "PASSPORT_PRIVATE_KEY",
        "PASSPORT_PUBLIC_KEY",
        "GOTENBERG_URL",
        "FILESYSTEM_DISK",
        "S3_BUCKET",
        "API_RATE_LIMIT_AUTH_PER_MINUTE"
      ],
      "configFiles": [
        ".env.example",
        "docker-compose.yml",
        "self-hosting-examples repository"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 23
    },
    "useWhen": [
      "my studio bills clients by the hour and I want tracked time to turn into reports and invoices without a SaaS seat fee",
      "I want my agent to start timers, file entries against projects and pull weekly reports over a documented API"
    ],
    "accounts": [
      "solidtime cloud (hosted editions only)"
    ],
    "active": true,
    "lastActivity": "2026-09-01",
    "gotchas": [
      "AGPL-3.0 copyleft",
      "PostgreSQL only; PDF output needs a Gotenberg container",
      "Maintainers auto-close pull requests over 50 lines from unvouched authors and ban AI-generated PRs; plan to keep changes in your fork",
      "Invoicing, estimates and PDF reports are Professional features on cloud; confirm whether the self-hosted build gates them"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: Laravel web application, Docker self-hosting guides",
      "executionModel": "no model SDK in README or .env.example",
      "operability": "openapi.json and resources/js/packages/api/src/openapi.json.client.ts in the repo; docs.solidtime.io/api-reference; personal access tokens through Passport",
      "effort": ".env.example in repo; docs.solidtime.io/self-hosting/configuration documents each variable",
      "editions": "solidtime.io/pricing: Solo free, Professional EUR 9 per month; README: self-host under AGPL",
      "active": "shortlist pushedAt 2026-09-01"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.95,
      "operability": 0.9,
      "effort": 0.9,
      "reach": 0.85,
      "editions": 0.75
    },
    "openQuestions": [
      "Is Professional priced per user or per organization?",
      "Does the self-hosted edition include invoicing and PDF reports, or are they cloud-only?"
    ],
    "sources": [
      {
        "url": "https://github.com/solidtime-io/solidtime",
        "foundBy": "sourcing:scheduling-staffing:curated"
      },
      {
        "url": "https://docs.solidtime.io/",
        "foundBy": "sourcing:scheduling-staffing:curated"
      },
      {
        "url": "https://docs.solidtime.io/self-hosting/configuration",
        "foundBy": "analysis:scheduling-staffing"
      },
      {
        "url": "https://www.solidtime.io/pricing",
        "foundBy": "analysis:scheduling-staffing"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Official OpenAPI-described REST API with near-complete Reach; documented .env surface; AGPL caps the adaptable score.",
      "disputed": []
    },
    "url": "apps/solidtime-io--solidtime.html",
    "coverage": "partial",
    "paid": true,
    "source": "research/verified/solidtime-io--solidtime.json"
  }
}
