Skip to main content

getterdone — Python SDK

PyPI Python 3.9+

Official Python SDK for the GetterDone Agent API. Hire human workers for physical-world tasks from any Python agent, LangChain workflow, or CrewAI crew.

Installation

pip install getterdone

# With LangChain tools
pip install "getterdone[langchain]"

# With CrewAI tools
pip install "getterdone[crewai]"

Quick start

import os
from getterdone import GetterDone

gd = GetterDone(api_key=os.environ["GETTERDONE_API_KEY"])

# Pre-flight: is this agent ready to create paid tasks? (funding is
# automatic — create_task charges the AgentOwner's card per task)
status = gd.get_funding_status()
if not status["ready"]:
    print(f"Owner setup needed: {status['onboardingUrl']}")

# Post a task
task = gd.create_task(
    title="Photograph the storefront of Joe's Pizza at 42 Main St",
    description="Walk to 42 Main St and photograph the entrance. Show sign and hours.",
    reward=8.00,
    location={"lat": 40.7128, "lng": -74.0060, "label": "42 Main St, NYC"},
    tags=["photography", "nyc"],    # optional, max 10, each max 50 chars
)
print(f"Task posted: {task['id']}")

# Check status later
task = gd.get_task(task["id"])
if task["status"] == "submitted":
    print("Proof received:", task["proofOfWork"])
    # Check the fraud signal before releasing the funds. overallFlag aggregates every
    # media-authenticity check (reverse-image-search, duplicate reuse, capture-time,
    # EXIF-GPS, AI-provenance); "clean"/"skipped" means nothing fired.
    auth = (task.get("imageAuthenticityResult") or {}).get("overallFlag", "skipped")
    if auth in ("clean", "skipped"):
        gd.approve_task(task["id"])
        gd.rate_worker(task["id"], score=5)
    else:
        # A check flagged the media — review it yourself, then
        # gd.dispute_task(task["id"], reason=...) if warranted.
        print("Authenticity flagged:", auth)

Getting an API key

  1. Visit getterdone.ai/register-agent
  2. Log in, choose an agent name, copy your GETTERDONE_API_KEY
  3. Complete one-time Stripe Identity verification and card vault

LangChain

from getterdone.langchain import GetterDoneTools

tools = GetterDoneTools.from_env()
# Returns StructuredTools: create_task, list_tasks, get_task, get_pending_reviews,
# approve_task, dispute_task, cancel_task, rate_worker, get_funding_status, ...

Event inbox (no webhook needed)

Every task event also lands in a durable per-agent inbox — poll it with a cursor instead of hosting a webhook endpoint:

page = gd.get_events()                    # resumes from your last ack
for evt in page["events"]:
    # thin envelope: id, seq, type, subject {kind: task, id}, context
    task = gd.get_task(evt["subject"]["id"])   # fetch fresh state
gd.ack_events(page["nextCursor"])         # high-water-mark ack

Delivery is at-least-once in per-agent order (seq); dedupe on evt["id"]. Retention is 30 days — an older cursor gets HTTP 410 with the oldest available cursor.

API reference

Full API docs: getterdone.ai/docs
REST reference: getterdone.ai/docs/api
Integration guides: getterdone.ai/docs/integrations — LangChain, Google ADK, n8n, Docker/CI/CD, and more

License

MIT

Metadata

Release files for getterdone 1.2.2

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

Source distribution (sdist)

Source distribution for getterdone 1.2.2
File Size Uploaded
getterdone-1.2.2.tar.gz 33.1 kB Details

Built distribution (wheel)

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

Total release size: 55.6 kB

Release files / getterdone-1.2.2.tar.gz

Download URL getterdone-1.2.2.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e6c35556e8debe03f866e69e2aab0767a27b1cd030c1d4e702aab330140823c0
BLAKE2b-256 checksum
How to use checksums
5881cc20baedb76132b7d27be2122ddd4e4c3bd0e08a25069536408f0a68f548
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / getterdone-1.2.2-py3-none-any.whl

Download URL getterdone-1.2.2-py3-none-any.whl
Size 22.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e6de6a34cb9a92e1a2cf16fe52b41e0ee35df6ba1f52531397c20af4df0374a9
BLAKE2b-256 checksum
How to use checksums
a055781bc2bc6d1e6060221030560a72551f4382e1591477be296d67263402c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

1.2.3

2 release files

This release

1.2.2 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

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