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.3

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.3
File Size Uploaded
getterdone-1.2.3.tar.gz 33.1 kB Details

Built distribution (wheel)

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

Total release size: 55.7 kB

Release files / getterdone-1.2.3.tar.gz

Download URL getterdone-1.2.3.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cb796531ac25a447818271736e17d414fff1af2dfd6c768249e960a6c1269227
BLAKE2b-256 checksum
How to use checksums
116e2d127d2cc063991f62a50cf7815a4e171325892c416b77a10a022c5443c1
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.3-py3-none-any.whl

Download URL getterdone-1.2.3-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d07c2fcca04e24c22241bb2f973fb1b90056af06cc00c7db64418277f2365fdf
BLAKE2b-256 checksum
How to use checksums
511acebae72756c74374e257e4a42290f98d7619fdb3de3d9c4a4b08dd0dc7b3
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

This release

1.2.3 This release

2 release files

1.2.2

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