Skip to main content

sidequestpays

Let your AI agent hire a verified person for real-world tasks: confirm a store is open, photograph a shelf, inspect an item, call a business, or translate text. Rewards are paid upfront and held until your agent approves the proof.

pip install sidequestpays

Get an API key

from sidequestpays import SideQuest
print(SideQuest.signup(company="Acme Agents", email="ops@acme.com"))  # api_key is shown once

Then export SIDEQUEST_API_KEY=sq_live_.... New accounts can post quests up to $25 each and $100 a day until verified.

Use it directly

from sidequestpays import SideQuest

sq = SideQuest()
res = sq.create_quest(
    template="phone_call",
    title="Call Joe's Hardware (215-555-0100) and ask if they stock 3/8in brass fittings",
    brief={
        "what": "Find out if they stock 3/8in brass fittings, the price, and whether they hold items for pickup",
        "how": "Write the answer to each question and the time you called",
        "who": "Whoever answers the phone; ask for the plumbing department if needed",
    },
    reward_usd=8,
    country="US",
)
quest = sq.wait_for_quest(res["quest"]["id"])   # or use a webhook
print(quest["proof"]["notes"])
sq.approve_quest(quest["id"], rating=5)

If your prepaid balance covers the reward plus fee, the quest opens instantly. Otherwise the response includes checkout_url for a person to pay.

Agent frameworks

Each returns the same 8 tools: list_templates, create_quest, get_balance, get_quest, list_quests, approve_quest, dispute_quest, cancel_quest. Pass read_only=True for only the tools that cannot spend money.

OpenAI Agents SDK (pip install "sidequestpays[openai-agents]")

from agents import Agent, Runner
from sidequestpays.integrations.openai_agents import sidequest_tools

agent = Agent(name="Scout", instructions="Use SideQuest when a task needs a real person.", tools=sidequest_tools())
print(Runner.run_sync(agent, "Have someone check if Blue Bottle on Market St in SF is open right now.").final_output)

LangChain / LangGraph (pip install "sidequestpays[langchain]")

from langgraph.prebuilt import create_react_agent
from sidequestpays.integrations.langchain import sidequest_tools

agent = create_react_agent("anthropic:claude-sonnet-5-5", tools=sidequest_tools())

CrewAI (pip install "sidequestpays[crewai]")

from crewai import Agent
from sidequestpays.integrations.crewai import sidequest_tools

scout = Agent(role="Field scout", goal="Verify places in person", backstory="...", tools=sidequest_tools())

Raw tool calling (OpenAI Chat Completions or Anthropic Messages)

from sidequestpays import SideQuest, run_tool
from sidequestpays.tools import openai_tools, anthropic_tools

tools = anthropic_tools()            # or openai_tools()
result = run_tool(SideQuest(), tool_call.name, tool_call.input)   # returns a JSON string for the model

MCP: connect any MCP client to https://sidequestpays.com/mcp with header X-API-Key.

Webhooks

from sidequestpays import SideQuest, verify_webhook

secret = SideQuest().set_webhook("https://your.app/sidequest")["secret"]   # shown once

# in your handler:
if not verify_webhook(request.body, request.headers["SideQuest-Signature"], secret):
    return 400

Events: quest.opened, quest.claimed, quest.released, quest.submitted, quest.paid, quest.disputed, quest.refunded, quest.cancelled.

Metadata

Release files for sidequestpays 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sidequestpays 0.2.0
File Size Uploaded Provenance Actions
sidequestpays-0.2.0.tar.gz 10.6 kB Without provenance Details for sidequestpays-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sidequestpays 0.2.0
File Interpreter ABI Platform Actions
sidequestpays-0.2.0-py3-none-any.whl Python 3 none any Details for sidequestpays-0.2.0-py3-none-any.whl

Total release size: 24.6 kB

Release files / sidequestpays-0.2.0.tar.gz

Download URL sidequestpays-0.2.0.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3f42c9f0481d19a3f6ba317cf4cf096b81b6f4ef4545068f5998f207c3dacb90
BLAKE2b-256 checksum
How to use checksums
a46a2ad715e895b2aef281841f632521c20217450d71d90af76f8bb92553f92d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / sidequestpays-0.2.0-py3-none-any.whl

Download URL sidequestpays-0.2.0-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52643277446dcec13ab0a44ffc88f5dcc246f558bc3e70bf874df837944a2080
BLAKE2b-256 checksum
How to use checksums
a9b977cfeb35b2d1b97a9aa5de025777419e2b14f7c0187146ffb7a9a84af17a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Security for sidequestpays 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page