api-integrator

Automate external API integrations with authentication, retries, and JSON schema validation.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/doctorduke/seashells --skill api-integrator
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-integrator
Source: https://github.com/doctorduke/seashells/tree/main/.claude/skills/api-integrator
Command: npx skills add https://github.com/doctorduke/seashells --skill api-integrator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, tenacity, pydantic, requests-oauthlib, psycopg2.

What problem does it solve?

This Skill automates the complex and error-prone aspects of integrating external APIs and databases, saving you significant development time and reducing the risk of integration failures. It handles authentication, error handling, and data validation, letting you focus on core logic.

Core Features & Use Cases

  • Robust API Calls: Patterns for REST and GraphQL APIs with built-in retry logic and comprehensive error handling (4xx, 5xx, timeouts).
  • Secure Authentication: Supports Bearer Token, Basic Auth, and OAuth 2.0, ensuring secure connections to external services.
  • Response Validation: Integrates JSON schema validation (e.g., with Pydantic) to ensure data integrity from API responses.
  • Use Case: Integrate a payment gateway like Stripe, fetch data from a third-party service like Twilio, or query a PostgreSQL database, all with automated error recovery and data validation.

Quick Start

Example: Get user info from GitHub API

import requests from tenacity import retry, stop_after_attempt, wait_exponential

@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=1, max=10)) def call_api(endpoint, method="GET", headers=None, data=None): response = requests.request(method=method, url=endpoint, headers=headers, json=data, timeout=30) response.raise_for_status() return response.json()

response = call_api('https://api.github.com/users/github') print(f"GitHub created: {response['created_at']}")

Frequently Asked Questions about api-integrator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle authentication for REST and GraphQL API calls in Python?

REST and GraphQL APIs require secure authentication methods. This Skill supports Bearer Token, Basic Auth, and OAuth 2.0 authentication patterns, letting you configure credentials once and apply them consistently across all API calls while maintaining security.

What's the best way to retry failed API requests with exponential backoff?

Exponential backoff retries automatically pause between attempts, increasing wait time with each failure to avoid overwhelming the service. This Skill integrates retry logic that stops after a maximum number of attempts and handles timeouts, reducing transient failures without manual intervention.

How do I validate API responses to ensure data integrity?

API responses must match expected data structures before processing. This Skill uses JSON schema validation with Pydantic to enforce response format and type requirements, catching malformed data early and preventing downstream errors in your application.

Can I use this for integrating third-party services like Stripe and Twilio?

Yes. This Skill handles the authentication, error handling, retry logic, and response validation required for payment gateways, SMS services, and other external APIs, letting you focus on your business logic instead of integration plumbing.

How do I query a PostgreSQL database with the same reliability as API calls?

Database queries face the same connection failures and timeouts as external APIs. This Skill applies consistent error handling, retry strategies, and validation to PostgreSQL queries through psycopg2, treating database operations as reliably as remote service calls.

What happens when an API returns a 4xx or 5xx error?

HTTP errors indicate client mistakes or server problems and require different responses. This Skill catches 4xx and 5xx errors, distinguishes between recoverable failures (retry) and permanent ones (fail fast), and provides structured error information for logging and debugging.