Skip to main content

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

Project description

langchain-apiverve

PyPI version Python versions License: MIT LangChain

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

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


Features

  • 310+ APIs - Email validation, DNS lookup, IP geolocation, QR codes, currency conversion, and more
  • 29 Categories - Data Lookup, News, Domain Data, Data Conversion, Entertainment, 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 310+ APIs across 29 categories:

Category APIs Examples
Data Lookup 15 World Time, Thesaurus, Emoji Lookup
News 1 World News
Domain Data 15 DNS Lookup, WHOIS Lookup, SSL Certificate Checker
Data Conversion 32 Unit Converter, Number to Words, Words to Numbers
Entertainment 24 Chuck Norris Jokes, Historical Events, Random Facts
Weather 8 Air Quality, Marine Weather, Weather
Science 4 Meteorite Landings, Stars Lookup, Periodic Table
Finance 13 Mortgage Calculator, Loan Calculator, Currency Symbols
Transportation 4 Airports Lookup, Airline Lookup, Car Models
Data Generation 32 Baby Name Generator, Random Word, Random User Generator

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) 2025 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.1.0.tar.gz (9.7 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.1.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for langchain_apiverve-0.1.0.tar.gz
Algorithm Hash digest
SHA256 371471ae2cc9f22b4a41146719045bd96f042e23b2a091c41b60cc62a6e34299
MD5 289a87509b2af8e79de1c2095a74d40f
BLAKE2b-256 8e01d320bd6e35ec0e944660bf689410367f6811fa858f3ab93801a459e215c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for langchain_apiverve-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7319fb3c0be5228c0e46c22c04d6671e7b1f2e9127c05b1a1094b190a7690a37
MD5 57230f5a467503d4bb7a0985d9c46ffd
BLAKE2b-256 d2d50b0b7800be639896c5f68fb31d851ffb151015e9fe474582fbd35600c686

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