{"id":47479,"library":"eloqua-rest-api","title":"Eloqua REST API Client","description":"A TypeScript client for Oracle Eloqua's REST API. Currently at v1.0.18, maintained actively with regular releases. Provides typed methods for contacts, accounts, emails, campaigns, and other Eloqua objects. Key differentiators include comprehensive TypeScript support, promise-based interface, and built-in retry/rate-limiting handling. Supports both CommonJS and ESM imports.","status":"active","version":"1.0.18","language":"javascript","source_language":"en","source_url":"https://github.com/themehrdad/eloqua-rest-api","tags":["javascript","eloqua","rest api","typescript"],"install":[{"cmd":"npm install eloqua-rest-api","lang":"bash","label":"npm"},{"cmd":"yarn add eloqua-rest-api","lang":"bash","label":"yarn"},{"cmd":"pnpm add eloqua-rest-api","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"HTTP client used for API requests","package":"axios","optional":false}],"imports":[{"note":"Named export, not default. TypeScript types included.","wrong":"import EloquaClient from 'eloqua-rest-api'","symbol":"EloquaClient","correct":"import { EloquaClient } from 'eloqua-rest-api'"},{"note":"Type import for TypeScript users.","wrong":"const { Contact } = require('eloqua-rest-api')","symbol":"Contact","correct":"import { Contact } from 'eloqua-rest-api'"},{"note":"Configuration interface for initializing client.","wrong":"const EloquaConfig = require('eloqua-rest-api').EloquaConfig","symbol":"EloquaConfig","correct":"import { EloquaConfig } from 'eloqua-rest-api'"}],"quickstart":{"code":"import { EloquaClient } from 'eloqua-rest-api';\n\nconst client = new EloquaClient({\n  company: 'yourcompany',\n  username: 'apiuser@company.com',\n  password: process.env.ELOQUA_PASSWORD ?? ''\n});\n\nasync function main() {\n  try {\n    const contacts = await client.contacts.search({ email: 'test@example.com' });\n    console.log('Found contacts:', contacts);\n  } catch (error) {\n    console.error('API call failed:', error);\n  }\n}\nmain();","lang":"typescript","description":"Shows how to create a client, authenticate, and search for contacts using the Eloqua API."},"warnings":[{"fix":"Always keep credentials in environment variables or a secure vault.","message":"The client uses basic authentication over HTTPS; credentials are sent in every request. Do not expose credentials client-side.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use client.contacts.create, .update, .delete instead of client.bulk.contacts.*","message":"The 'bulk' methods are deprecated in v1.0.15+ in favor of the standard CRUD methods.","severity":"deprecated","affected_versions":">=1.0.15"},{"fix":"Access response.meta.totalResults instead of response.totalResults.","message":"Response format changed in v1.0.10: 'totalResults' is now under 'meta' object rather than at root.","severity":"breaking","affected_versions":">=1.0.10 <1.1.0"},{"fix":"Consider implementing your own queueing for high-volume calls.","message":"Rate limiting: Eloqua imposes API rate limits; the client will retry automatically on 429 but may cause delays.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade Node.js to version 12 or later.","message":"Node.js 10 support dropped in v1.0.14. Requires Node >= 12.","severity":"deprecated","affected_versions":">=1.0.14"}],"env_vars":null,"search_vec":"'account':27 'activ':18 'api':3,13,59 'base':42 'built':46 'built-in':45 'campaign':29 'client':4,7 'commonj':52 'comprehens':37 'contact':26 'current':14 'differenti':35 'eloqua':1,10,32,57 'email':28 'esm':54 'handl':49 'import':55 'includ':36 'interfac':43 'javascript':56 'key':34 'maintain':17 'method':24 'object':33 'oracl':9 'promis':41 'promise-bas':40 'provid':22 'regular':20 'releas':21 'rest':2,12,58 'retry/rate-limiting':48 'support':39,50 'type':23 'typescript':6,38,60 'v1.0.18':16","created_at":"2026-06-07T16:51:43.062644+00:00","updated_at":"2026-06-07T16:51:43.062644+00:00","problems":[{"fix":"Check network connectivity and ensure api.eloqua.com resolves correctly.","cause":"DNS resolution failure for Eloqua API domain","error":"Error: getaddrinfo ENOTFOUND api.eloqua.com"},{"fix":"Wrap calls in try/catch and check network issues or API availability.","cause":"The client threw a network error but caught it; response object is undefined","error":"TypeError: Cannot read property 'data' of undefined"},{"fix":"Verify company name, username, and password. Ensure API user has appropriate permissions.","cause":"Invalid credentials or expired password","error":"Error: Request failed with status code 401"},{"fix":"Update to latest version (npm install eloqua-rest-api@latest) and check documentation for current methods.","cause":"Using incorrect version of the library where the method name changed or is not exposed","error":"TypeError: client.contacts.search is not a function"}],"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/themehrdad/eloqua-rest-api#readme","github":"https://github.com/themehrdad/eloqua-rest-api","docs":null,"changelog":null,"pypi":null,"npm":"eloqua-rest-api","openapi_spec":null,"status_page":null,"smithery":null,"categories":["crm"],"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}}