DEV Community

Petter_Strale
Petter_Strale

Posted on • Originally published at dev.to

Give Your LangChain or CrewAI Agent 250+ Data Capabilities in 3 Lines of Code

Building an AI agent is the easy part. Getting it reliable data is the hard part.

Your agent can reason brilliantly, but at some point it needs to validate an IBAN, look up a VAT number, check a company's beneficial ownership, or pull a business registry entry. Every one of those data sources has its own API, its own auth, its own error handling, its own schema. Before you know it you've spent a week plumbing data integrations instead of building the thing you actually set out to build.

langchain-strale and crewai-strale solve this. They give your agent instant access to 250+ tested data capabilities — company registries, compliance checks, financial data, web extraction, and more — with a single import.

Install

# For LangChain agents
pip install langchain-strale

# For CrewAI agents
pip install crewai-strale
Enter fullscreen mode Exit fullscreen mode

The simplest case: call a capability directly

No agent needed. Get the tools, find the one you want, call it.

from langchain_strale import StraleToolkit

toolkit = StraleToolkit(api_key="sk_live_...")
tools = toolkit.get_tools()

# Find the IBAN validator
iban_tool = next(t for t in tools if t.name == "iban-validate")

result = iban_tool._run(iban="GB82WEST12345698765432")
print(result)
# {"valid": true, "country_code": "GB", "bank_code": "WEST", ...}
Enter fullscreen mode Exit fullscreen mode

The same pattern works for any of the 250+ capabilities — VAT validation, sanctions screening, company lookups, web scraping, and more. iban-validate is free tier, so you can run this without spending any credits.

With a LangChain agent

from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate
from langchain_strale import StraleToolkit

llm = ChatOpenAI(model="gpt-4o")
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a compliance analyst with access to EU business data tools."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

toolkit = StraleToolkit(api_key="sk_live_...")
tools = toolkit.get_tools()  # All 250+ capabilities as LangChain BaseTool instances

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

result = executor.invoke({
    "input": "Validate VAT number SE556703748501 and tell me what you find about the company"
})
print(result["output"])
Enter fullscreen mode Exit fullscreen mode

With a CrewAI agent

from crewai import Agent, Task, Crew
from crewai_strale import StraleToolkit

toolkit = StraleToolkit(api_key="sk_live_...")
tools = toolkit.get_tools()

analyst = Agent(
    role="EU Business Compliance Analyst",
    goal="Validate and research European companies using official data sources",
    backstory="Expert in EU business registries, VAT systems, and compliance data",
    tools=tools,
)

task = Task(
    description="Check if VAT number SE556703748501 is valid and find out what you can about the company",
    agent=analyst,
    expected_output="Validation status and available company information",
)

crew = Crew(agents=[analyst], tasks=[task])
result = crew.kickoff()
print(result)
Enter fullscreen mode Exit fullscreen mode

What's in the toolkit

Every Strale capability becomes a tool with a name, a description (including price), and a typed input schema generated from the capability's own JSON Schema. The agent knows what each tool costs before it calls it.

Some categories worth knowing about:

  • EU/Nordic business data — Swedish, Norwegian, Danish, Finnish company registries; VAT validation via VIES; IBAN validation; beneficial ownership lookups
  • KYC & compliance — PEP screening, adverse media checks, sanctions screening across 27 countries
  • Web extraction — screenshots, structured scraping, metadata extraction, URL-to-markdown
  • Financial data — crypto prices, stock quotes, currency conversion, economic indicators
  • Data utilities — JSON repair, CSV cleaning, address parsing, phone normalization

Two meta-tools come included in every toolkit:

  • strale_search — describe what you need in plain English, get back matching capabilities
  • strale_balance — check your wallet balance from within the agent

Filter by category

If you don't want to expose all 250+ tools to your agent (reasonable — it can make tool selection noisier), filter by category:

tools = toolkit.get_tools(categories=["compliance", "finance"])
Enter fullscreen mode Exit fullscreen mode

Quality scoring

Every capability on Strale has a Strale Quality Score — a dual-profile score covering quality (correctness, schema compliance, error handling, edge cases) and reliability (availability, success rate, latency, upstream health). You're not calling an untested endpoint. You're calling something that's been continuously tested and scored.

Try it free

Five capabilities are completely free — no API key, no credits, no signup:

curl -X POST https://api.strale.io/v1/do \
  -H "Content-Type: application/json" \
  -d '{"capability_slug": "iban-validate", "inputs": {"iban": "GB82WEST12345698765432"}}'
Enter fullscreen mode Exit fullscreen mode

For all 250+ capabilities, sign up at strale.dev — new accounts get €2 in free trial credits, no card required.

Links

Top comments (0)