{"id":48923,"library":"plaid-fetch","title":"plaid-fetch","description":"Community-maintained Plaid API client using fetch instead of Axios, generated from Plaid's OpenAPI spec via @openapitools/openapi-generator-cli (typescript-fetch). Current version 1.0.2. Built for edge environments (Cloudflare Workers, Deno, browser-like runtimes) where Plaid's official Node SDK (Axios-dependent) does not work. Key difference: responses returned directly without .data wrapper. Actively maintained on GitHub with plans for automated releases.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/heysanil/plaid-fetch","tags":["javascript","typescript"],"install":[{"cmd":"npm install plaid-fetch","lang":"bash","label":"npm"},{"cmd":"yarn add plaid-fetch","lang":"bash","label":"yarn"},{"cmd":"pnpm add plaid-fetch","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Uses native fetch API (no external HTTP client dependency)","package":"fetch","optional":false}],"imports":[{"note":"Named export, not default.","wrong":"import Configuration from 'plaid-fetch'","symbol":"Configuration","correct":"import { Configuration } from 'plaid-fetch'"},{"note":"ESM only; CommonJS require is possible but not recommended.","wrong":"const PlaidApi = require('plaid-fetch').PlaidApi","symbol":"PlaidApi","correct":"import { PlaidApi } from 'plaid-fetch'"},{"note":"Alias is fine but not needed. Both must be imported together.","wrong":"import { Configuration as Config, PlaidApi } from 'plaid-fetch'","symbol":"Configuration","correct":"import { Configuration, PlaidApi } from 'plaid-fetch'"}],"quickstart":{"code":"import { Configuration, PlaidApi } from 'plaid-fetch';\n\nconst config = new Configuration({\n    basePath: 'https://sandbox.plaid.com',\n    headers: {\n        'PLAID-CLIENT-ID': process.env.PLAID_CLIENT_ID ?? '',\n        'PLAID-SECRET': process.env.PLAID_SECRET ?? '',\n    },\n});\n\nconst plaid = new PlaidApi(config);\n\nasync function main() {\n    const response = await plaid.transactionsEnrich({\n        account_type: 'credit',\n        transactions: [{\n            id: 'abc123',\n            description: 'SQ *COACHELLA VALLEY M Royal Oak MI US 48067',\n            amount: 26.10,\n            direction: 'OUTFLOW',\n            mcc: '5814',\n            date_posted: new Date('2024-04-14'),\n            iso_currency_code: 'USD',\n            location: { country: 'US', region: 'MI', city: 'Royal Oak', postal_code: '48067' }\n        }]\n    });\n    console.log(response.enriched_transactions);\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Initializes Plaid client with sandbox keys, makes a transactionsEnrich request, and logs the enriched transactions."},"warnings":[{"fix":"Access response properties directly (e.g., response.enriched_transactions) instead of response.data.enriched_transactions.","message":"Responses are returned directly without .data wrapper (unlike official SDK). May change in future major version.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Manually regenerate using 'pnpm generate' or wait for maintainer to publish new version.","message":"No automated releases yet; updates may lag behind Plaid API changes.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Set basePath to 'https://sandbox.plaid.com', 'https://development.plaid.com', or 'https://production.plaid.com' as appropriate. Include client ID and secret in headers.","message":"Configuration requires basePath and headers (PLAID-CLIENT-ID, PLAID-SECRET) passed manually; no environment detection.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Check the generated types/docs on GitHub for exact parameter structures.","message":"Built with typescript-fetch generator; some endpoints may have different parameter shapes than official SDK.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Consider using official @plaid/plaid-sdk for Node.js environments with Axios support.","message":"This is not the official Plaid SDK; no official support. Use at your own risk.","severity":"breaking","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.0.2':28 'activ':60 'api':8 'autom':67 'axio':14,47 'axios-depend':46 'browser':37 'browser-lik':36 'built':29 'client':9 'cloudflar':33 'communiti':5 'community-maintain':4 'current':26 'data':58 'deno':35 'depend':48 'differ':53 'direct':56 'edg':31 'environ':32 'fetch':3,11,25 'generat':15 'github':63 'instead':12 'javascript':69 'key':52 'like':38 'maintain':6,61 'node':44 'offici':43 'openapi':19 'openapitools/openapi-generator-cli':22 'plaid':2,7,17,41 'plaid-fetch':1 'plan':65 'releas':68 'respons':54 'return':55 'runtim':39 'sdk':45 'spec':20 'typescript':24,70 'typescript-fetch':23 'use':10 'version':27 'via':21 'without':57 'work':51 'worker':34 'wrapper':59","created_at":"2026-06-07T16:59:09.502519+00:00","updated_at":"2026-06-07T16:59:09.502519+00:00","problems":[{"fix":"Access response.enriched_transactions directly, not response.data.enriched_transactions.","cause":"Response structure mismatch; official SDK wraps in 'data' object but this library returns directly.","error":"TypeError: Cannot destructure property 'enriched_transactions' of 'response' as it is undefined."},{"fix":"Ensure 'PLAID-CLIENT-ID' header is set in Configuration headers.","cause":"Missing client ID in headers.","error":"Error: 400 Bad Request - PLAID_CLIENT_ID is required."},{"fix":"Use import { PlaidApi } from 'plaid-fetch' (curly braces).","cause":"Wrong import syntax (default import instead of named).","error":"TypeScript error: Module '\"plaid-fetch\"' has no exported member 'PlaidApi'."},{"fix":"Use Node.js 18+ or polyfill fetch (e.g., node-fetch).","cause":"Environment does not have native fetch (e.g., older Node.js <18).","error":"ReferenceError: fetch is not defined."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/heysanil/plaid-fetch#readme","github":"https://github.com/heysanil/plaid-fetch","docs":null,"changelog":null,"pypi":null,"npm":"plaid-fetch","openapi_spec":null,"status_page":null,"smithery":null,"categories":["finance"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}