Skip to main content

LangChain integration for APIVerve - Access 356+ utility APIs for AI agents

Project description

langchain-apiverve

PyPI version Python versions License: MIT LangChain

LangChain integration for APIVerve - Access 356+ utility APIs for AI agents and LLM applications.

Build powerful AI agents with access to validation, conversion, generation, analysis, and lookup APIs.


Features

  • 356+ APIs - Email validation, DNS lookup, IP geolocation, QR codes, currency conversion, and more
  • 29 Categories - Text Processing, Data Generation, Games, Entertainment, Calendar, and more
  • LangChain Native - Works with any LangChain agent or chain
  • Type Safe - Full Pydantic schemas for inputs and outputs
  • Async Support - Both sync and async API calls
  • Flexible - Use individual tools or the "run any" meta-tool

Installation

pip install langchain-apiverve

Quick Start

from langchain_apiverve import APIVerveToolkit
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate

# Initialize toolkit with your API key
toolkit = APIVerveToolkit(api_key="your-api-key")
# Or set APIVERVE_API_KEY environment variable

# Get tools
tools = toolkit.get_tools()

# Create an agent
llm = ChatOpenAI(model="gpt-4")
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a helpful assistant with access to various utility APIs."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# Use the agent
result = executor.invoke({"input": "Is test@example.com a valid email?"})
print(result["output"])

Usage Examples

Using Individual Tools

from langchain_apiverve import APIVerveToolkit

toolkit = APIVerveToolkit(api_key="your-api-key")

# Get specific tools
tools = toolkit.get_tools(include_apis=["emailvalidator", "dnslookup"])

# Use a tool directly
email_tool = tools[0]
result = email_tool.invoke({"email": "user@example.com"})
print(result)

Using the "Run Any" Tool

from langchain_apiverve import APIVerveToolkit

toolkit = APIVerveToolkit(api_key="your-api-key")

# Get the flexible run-any tool
run_any = toolkit.get_run_any_tool()

# Call any API dynamically
result = run_any.invoke({
    "api_id": "qrcodegenerator",
    "parameters": {"value": "https://example.com"}
})
print(result)

Filtering Tools by Category

from langchain_apiverve import APIVerveToolkit

toolkit = APIVerveToolkit(api_key="your-api-key")

# Get only validation tools
validation_tools = toolkit.get_tools(categories=["Validation"])

# Get only lookup tools
lookup_tools = toolkit.get_tools(categories=["Lookup"])

Low-Level Client Usage

from langchain_apiverve import APIVerveClient

client = APIVerveClient(api_key="your-api-key")

# Make API calls directly
result = client.call_api("emailvalidator", {"email": "test@example.com"})
print(result)

# Async usage
import asyncio

async def main():
    result = await client.acall_api("dnslookup", {"domain": "example.com"})
    print(result)

asyncio.run(main())

Available APIs

APIVerve provides 356+ APIs across 29 categories:

Category APIs Examples
Text Processing 45 Acronym Expander, Anagram Detector, Antonym Finder
Data Generation 32 Acronym Generator, Baby Name Generator, Barcode Generator
Games 21 Acrostic Puzzle Generator, Anagram Puzzle Generator, Card Deck Shuffler
Entertainment 24 Advice Generator, Bucket List, Charades Generator
Calendar 5 Age Calculator, Date Calculator, Liturgical Calendar
Transportation 5 Airline Lookup, Airport Code Converter, Airport Distance
Weather 8 Air Quality, Worldwide Earthquakes, Marine Weather
AI/Computer Vision 6 Article Ideas Generator, Code Detector, Image Caption
Data Conversion 33 ASCII85 Encoder, Base64 Encoder/Decoder, Color Converter
Data Lookup 17 ASN Lookup, Bible, Country Calling Code

Browse all APIs →


API Response Format

All APIVerve APIs return a consistent response format:

{
  "status": "ok",
  "error": null,
  "data": {
    // API-specific response data
  }
}

Configuration

Environment Variables

Variable Description
APIVERVE_API_KEY Your APIVerve API key

Toolkit Options

toolkit = APIVerveToolkit(
    api_key="...",           # API key (or use env var)
    base_url="...",          # Custom API base URL
)

tools = toolkit.get_tools(
    categories=["..."],      # Filter by category
    include_apis=["..."],    # Only include specific APIs
    exclude_apis=["..."],    # Exclude specific APIs
    include_run_any=True,    # Include the "run any" tool
    include_popular=True,    # Include pre-built popular tools
)

Development

Setup

# Clone the repository
git clone https://github.com/apiverve/langchain-apiverve.git
cd langchain-apiverve

# Install with Poetry
poetry install

# Or with pip
pip install -e ".[dev]"

Running Tests

pytest

Linting

ruff check .
mypy src/

Resources

Resource Link
APIVerve Website apiverve.com
API Documentation docs.apiverve.com
API Marketplace apiverve.com/marketplace
LangChain Docs python.langchain.com
GitHub Issues github.com/apiverve/langchain-apiverve/issues

License

MIT License - see LICENSE for details.

Copyright (c) 2026 APIVerve

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_apiverve-0.2.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_apiverve-0.2.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file langchain_apiverve-0.2.0.tar.gz.

File metadata

  • Download URL: langchain_apiverve-0.2.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for langchain_apiverve-0.2.0.tar.gz
Algorithm Hash digest
SHA256 022acb62aec6ad8f4d31f6403ea9b0badab403e7257d78e777fc5ae3d2b277a7
MD5 1db391152d65230e01100a7deaada2fa
BLAKE2b-256 0d1201a0f8334fe3ac54e53cb328a700206b1e005a1c81381c187aaf83404378

See more details on using hashes here.

File details

Details for the file langchain_apiverve-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_apiverve-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 437c45290b50aace8e773cf5de92af9bc0c00520db01fc2153f4a95fee6c6efa
MD5 8c2318e79334437c6dc8c0eb11d3a93e
BLAKE2b-256 acdfe375abe303260b4022469422d774b6e60b94f87119b6074475b7304fdd20

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page