LangChain integration for APIVerve - Access 356+ utility APIs for AI agents
Project description
langchain-apiverve
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 |
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
022acb62aec6ad8f4d31f6403ea9b0badab403e7257d78e777fc5ae3d2b277a7
|
|
| MD5 |
1db391152d65230e01100a7deaada2fa
|
|
| BLAKE2b-256 |
0d1201a0f8334fe3ac54e53cb328a700206b1e005a1c81381c187aaf83404378
|
File details
Details for the file langchain_apiverve-0.2.0-py3-none-any.whl.
File metadata
- Download URL: langchain_apiverve-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
437c45290b50aace8e773cf5de92af9bc0c00520db01fc2153f4a95fee6c6efa
|
|
| MD5 |
8c2318e79334437c6dc8c0eb11d3a93e
|
|
| BLAKE2b-256 |
acdfe375abe303260b4022469422d774b6e60b94f87119b6074475b7304fdd20
|