{"id":14964296,"url":"https://github.com/johannschopplich/nuxt-api-party","last_synced_at":"2025-10-24T11:59:36.067Z","repository":{"id":60992927,"uuid":"547364089","full_name":"johannschopplich/nuxt-api-party","owner":"johannschopplich","description":"🐬 Securely connect to any API with a server proxy and generated composables","archived":false,"fork":false,"pushed_at":"2025-03-22T09:50:38.000Z","size":4199,"stargazers_count":280,"open_issues_count":4,"forks_count":13,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-15T04:56:58.493Z","etag":null,"topics":["nuxt","nuxt-auth","nuxt-module","nuxt-proxy"],"latest_commit_sha":null,"homepage":"https://nuxt-api-party.byjohann.dev","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/johannschopplich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://paypal.me/jschopplich"]}},"created_at":"2022-10-07T15:01:27.000Z","updated_at":"2025-04-30T05:38:17.000Z","dependencies_parsed_at":"2023-10-16T12:48:34.952Z","dependency_job_id":"4d18041e-12c9-425f-884b-5d5af90083bc","html_url":"https://github.com/johannschopplich/nuxt-api-party","commit_stats":{"total_commits":508,"total_committers":5,"mean_commits":101.6,"dds":0.03149606299212604,"last_synced_commit":"6c007b1239efd291151f94059cab84e8d483c5ce"},"previous_names":[],"tags_count":110,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johannschopplich%2Fnuxt-api-party","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johannschopplich%2Fnuxt-api-party/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johannschopplich%2Fnuxt-api-party/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johannschopplich%2Fnuxt-api-party/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johannschopplich","download_url":"https://codeload.github.com/johannschopplich/nuxt-api-party/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["nuxt","nuxt-auth","nuxt-module","nuxt-proxy"],"created_at":"2024-09-24T13:32:56.824Z","updated_at":"2025-10-24T11:59:36.047Z","avatar_url":"https://github.com/johannschopplich.png","language":"TypeScript","funding_links":["https://paypal.me/jschopplich"],"categories":["TypeScript"],"sub_categories":[],"readme":"[![Nuxt API Party module](./docs/public/og.jpg)](https://nuxt-api-party.byjohann.dev)\n\n# Nuxt API Party\n\n[Nuxt](https://nuxt.com) module that provides seamless integration with multiple API endpoints. It generates **type-safe composables** for each API endpoint you configure, offering a familiar developer experience similar to Nuxt's `useFetch` and `$fetch` while keeping your **API credentials secure** and eliminating **CORS issues** through a server proxy.\n\n- [✨ \u0026nbsp;Release Notes](https://github.com/johannschopplich/nuxt-api-party/releases)\n- [📖 \u0026nbsp;Read the documentation](https://nuxt-api-party.byjohann.dev)\n\n## Features\n\n- 🪅 [Auto-generated composables](https://nuxt-api-party.byjohann.dev/api/#generated-composables) for each API endpoint\n- 🔒 Protected API credentials with Nuxt proxy route\n- 🌐 No CORS issues\n- 🍱 Familiar developer experience to [`useFetch`](https://nuxt.com/docs/api/composables/use-fetch) and `$fetch`\n- 🧇 [Connect all your APIs](https://nuxt-api-party.byjohann.dev/essentials/getting-started#configure-your-first-api-endpoint)\n- 🦾 Fully typed API clients from [OpenAPI specifications](https://nuxt-api-party.byjohann.dev/guides/openapi-integration)\n- 🗃 Smart caching \u0026 hydration\n\n## Setup\n\n\u003e [!TIP]\n\u003e [📖 Read the documentation](https://nuxt-api-party.byjohann.dev)\n\n```bash\nnpx nuxt module add api-party\n```\n\n## Basic Usage\n\n\u003e [!TIP]\n\u003e [📖 Read the documentation](https://nuxt-api-party.byjohann.dev)\n\nAdd the Nuxt API Party to your Nuxt config and prepare your first API connection by setting an endpoint object with the following properties for the `apiParty` module option:\n\n```ts\n// `nuxt.config.ts`\nexport default defineNuxtConfig({\n  modules: ['nuxt-api-party'],\n\n  apiParty: {\n    endpoints: {\n      jsonPlaceholder: {\n        url: process.env.JSON_PLACEHOLDER_API_BASE_URL!,\n        // Global headers sent with each request\n        headers: {\n          Authorization: `Bearer ${process.env.JSON_PLACEHOLDER_API_TOKEN}`\n        }\n      }\n    }\n  }\n})\n```\n\nIf you were to call your API `jsonPlaceholder`, the generated composables are:\n\n- `$jsonPlaceholder` – Returns the response data, similar to [`$fetch`](https://nuxt.com/docs/api/utils/dollarfetch#fetch)\n- `useJsonPlaceholderData` – Returns [multiple values](https://nuxt-api-party.byjohann.dev/api/use-fetch-like.html#return-values) similar to [`useFetch`](https://nuxt.com/docs/api/composables/use-fetch)\n\nUse these composables in your templates or components:\n\n```vue\n\u003cscript setup lang=\"ts\"\u003e\nconst { data, refresh, error, status, clear } = await useJsonPlaceholderData('posts/1')\n\u003c/script\u003e\n\n\u003ctemplate\u003e\n  \u003ch1\u003e{{ data?.title }}\u003c/h1\u003e\n  \u003cpre\u003e{{ JSON.stringify(data, undefined, 2) }}\u003c/pre\u003e\n\u003c/template\u003e\n```\n\n\u003e [!TIP]\n\u003e You can connect as many APIs as you want, just add them to the `endpoints` object.\n\n## 💻 Development\n\n1. Clone this repository\n2. Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`\n3. Install dependencies using `pnpm install`\n4. Run `pnpm run dev:prepare`\n5. Start development server using `pnpm run dev`\n\n## Special Thanks\n\n- [Dennis Baum](https://github.com/dennisbaum) for sponsoring the initial version of this package.\n- [Maronbeere](https://maronbeere.carrd.co) for his logo pixel art.\n\n## License\n\n[MIT](./LICENSE) License © 2022-PRESENT [Johann Schopplich](https://github.com/johannschopplich)\n\n[MIT](./LICENSE) License © 2025-PRESENT [Matthew Messinger](https://github.com/mattmess1221)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohannschopplich%2Fnuxt-api-party","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohannschopplich%2Fnuxt-api-party","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohannschopplich%2Fnuxt-api-party/lists"}