{"id":49021043,"url":"https://github.com/t3rr11/requesto","last_synced_at":"2026-04-19T04:01:23.152Z","repository":{"id":350790490,"uuid":"1146381526","full_name":"t3rr11/Requesto","owner":"t3rr11","description":"A modern, lightweight, self-hostable API client. No accounts, no cloud, no telemetry.","archived":false,"fork":false,"pushed_at":"2026-04-12T04:16:53.000Z","size":6535,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-12T06:15:12.741Z","etag":null,"topics":["api-client","api-testing","cross-platform","desktop-app","developer-tools","docker","electron","http-client","oauth2","open-source","postman-alternative","react","rest-client","self-hosted","typescript"],"latest_commit_sha":null,"homepage":"https://requesto.com.au","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t3rr11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-31T02:18:40.000Z","updated_at":"2026-04-12T04:17:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/t3rr11/Requesto","commit_stats":null,"previous_names":["t3rr11/requesto"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/t3rr11/Requesto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3rr11%2FRequesto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3rr11%2FRequesto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3rr11%2FRequesto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3rr11%2FRequesto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t3rr11","download_url":"https://codeload.github.com/t3rr11/Requesto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3rr11%2FRequesto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31994010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-client","api-testing","cross-platform","desktop-app","developer-tools","docker","electron","http-client","oauth2","open-source","postman-alternative","react","rest-client","self-hosted","typescript"],"created_at":"2026-04-19T04:01:22.369Z","updated_at":"2026-04-19T04:01:23.135Z","avatar_url":"https://github.com/t3rr11.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Requesto\n\nA self-hostable API client. No accounts, no cloud, no telemetry.\n\n| Light Mode | Dark Mode |\n|-----------|------------|\n| ![Requesto Light Mode](images/example-light.png) | ![Requesto Dark Mode](images/example-dark.png) | \n\n## Features\n\n- **Self-hosted**: All data stored locally in JSON files - on your machine or your server\n- **Full HTTP support**: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS\n- **Authentication**: Basic, Bearer, API Key, Digest, and OAuth 2.0 (Authorization Code, PKCE, Client Credentials, Implicit, Password)\n- **Environment variables**: Define variables per environment and reference them in URLs, headers, and bodies\n- **Collections \u0026 folders**: Organize requests with drag-and-drop, import and export as JSON\n- **Workspaces**: Isolate projects into separate workspaces, each with their own collections, environments, and OAuth configs\n- **Git integration**: Built-in git support with commit, push, pull, conflict resolution, and branch tracking\n- **OpenAPI import \u0026 sync**: Import OpenAPI v2/v3 specs to generate collections, then keep them in sync as the spec changes\n- **Postman compatibility**: Import and export collections and environments in Postman v2.1.0 format\n- **Console logging**: Request/response logs with status codes, timing, and full payloads\n- **Dark/Light themes**: Dark-mode-first UI with a light mode toggle\n- **CORS-free**: Backend handles CORS so the frontend never hits cross-origin issues\n- **SSE support**: Stream Server-Sent Events endpoints\n- **Multiple deployment options**: Desktop app (Windows/macOS/Linux), Docker, or from source\n\n## Quick Start\n\n### Desktop App\n\nDownload for Windows, macOS, or Linux from the [releases page](https://github.com/t3rr11/Requesto/releases).\n\n- **Windows**: `.exe` installer or portable\n- **macOS**: `.dmg`\n- **Linux**: `.AppImage`, `.deb`, `.rpm`\n\n### Docker\n\n```bash\ndocker run -d \\\n  -p 4000:4000 \\\n  -v requesto-data:/app/data \\\n  terrii/requesto:latest\n```\n\nOpen [http://localhost:4000](http://localhost:4000).\n\nOr with Docker Compose:\n\n```bash\ndocker-compose up -d\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/t3rr11/Requesto.git\ncd Requesto\nnpm install\nnpm run dev\n```\n\nBackend runs on port 4000, frontend dev server on port 5173.\n\n## Development\n\n### Prerequisites\n\n- Node.js 20+\n- npm\n- Git\n\n### Project Structure\n\n```\nRequesto/\n├── apps/\n│   ├── backend/      # Fastify backend server (port 4000)\n│   ├── frontend/     # React/Vite UI (port 5173 in dev)\n│   ├── electron/     # Electron desktop wrapper\n│   ├── website/      # VitePress documentation site\n│   └── playwright/   # End-to-end tests\n└── package.json      # Root workspace config\n```\n\n### Available Scripts\n\n| Command | Description |\n|---------|-------------|\n| `npm run dev` | Backend + frontend dev servers |\n| `npm run dev:electron` | All three with Electron window |\n| `npm run build` | Build all apps for production |\n| `npm run build:backend` | Build backend only |\n| `npm run build:frontend` | Build frontend only |\n| `npm run package:electron:win` | Windows installer |\n| `npm run package:electron:mac` | macOS dmg |\n| `npm run package:electron:linux` | Linux packages |\n| `docker-compose up --build` | Build and run Docker image |\n\n## Architecture\n\n```\nFrontend (React/Vite) ←→ Backend (Fastify) ←→ External APIs\n        ↓\nElectron Wrapper (Desktop)\n```\n\n- **Frontend**: React, TypeScript, Vite, TailwindCSS, Zustand\n- **Backend**: Node.js with Fastify - manages collections, environments, workspaces, git operations, OpenAPI importing, request execution, and OAuth token exchange\n- **Desktop**: Electron wrapper that bundles the backend as a child process\n- **Storage**: JSON files on disk organized by workspace - no database\n\n## Documentation\n\nFull documentation is available at [requesto.com.au](https://requesto.com.au).\n\n- **[Introduction](https://requesto.com.au/guide/introduction)** - What Requesto is and how it works\n- **[Getting Started](https://requesto.com.au/guide/getting-started)** - First request, collections, environments\n- **[Download \u0026 Install](https://requesto.com.au/guide/download)** - Desktop, Docker, and source installation\n- **[Workspaces](https://requesto.com.au/features/workspaces)** - Isolate projects into separate workspaces\n- **[Git Integration](https://requesto.com.au/features/git)** - Built-in version control for workspaces\n- **[OpenAPI Import \u0026 Sync](https://requesto.com.au/features/openapi)** - Import and sync OpenAPI specs\n- **[Docker Deployment](https://requesto.com.au/deployment/docker)** - Compose files, environment variables, reverse proxy\n- **[Building from Source](https://requesto.com.au/deployment/building)** - Development setup and packaging\n- **[Security](SECURITY.md)** - Security policy and vulnerability reporting\n\n## Disclosure\nAI was used to assist development.\n\n## License\n\nMIT\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft3rr11%2Frequesto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft3rr11%2Frequesto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft3rr11%2Frequesto/lists"}