← Back to Blog Product

The Humant Primitives — A New Kind of API Endpoint

When most developers think about APIs, they think about data. You ask for a resource, a server looks it up, and you get JSON back.

Humant is different. When you call a Humant primitive, you're not asking a database a question. You're asking a person to do something. The result still comes back as JSON — structured, signed, and predictable — but the work behind it was done by a human.

We call the task types "primitives" because they're designed to be composable. Each one is a building block. You can chain them together, combine them with AI steps, or drop them into an existing workflow at exactly the moment you need a human hand.

The primitives available today

📞 Voice Call

Dispatches an outbound phone call to any number. You provide the phone number and a brief — a plain-language description of what the worker should find out. The worker makes the call, asks the right questions, and reports back structured results.

Good for: Confirming hours, getting a yes/no on availability, reaching someone who doesn't respond to email, verifying information that only exists on a phone call.

{
  "type": "voice_call",
  "phone_number": "+14155551234",
  "brief": "Ask if they accept walk-in appointments on weekdays.",
  "callback_url": "https://yourapp.com/webhook"
}

🌐 Navigate & Extract

Give a URL and a list of fields to extract. A human navigates to the page, handles any friction — login walls, CAPTCHAs, paywalls, dynamic content — and returns the data you asked for.

Good for: Scraping sites that block bots, extracting data from pages behind authentication, pulling information from PDFs or documents, handling sites that require real browser interaction.

{
  "type": "navigate_and_extract",
  "url": "https://example.com/profile/123",
  "fields": ["name", "title", "contact_email", "company"],
  "callback_url": "https://yourapp.com/webhook"
}

🔍 Physical Verify (coming soon)

Request an in-person verification at a physical address. A worker visits the location, checks what you asked them to check, and reports back with photos and a structured summary.

Good for: Property condition checks, confirming a business is operating, verifying signage or storefronts, any task that requires eyes on a physical location.

🤔 Resolve Ambiguity (coming soon)

When an AI agent reaches a decision point it can't resolve with confidence, it can punt to a human expert. You provide the question and a set of options; a human with domain knowledge picks the right one and explains why.

Good for: Edge cases in classification, legal or compliance questions, any decision where you need explainable human judgment rather than a model's best guess.

How primitives are dispatched

Every primitive follows the same pattern:

  1. POST to /v1/dispatch with your task type and instructions
  2. Get a task_id back immediately — your agent continues running
  3. A human worker is notified and completes the task
  4. Results arrive via webhook — structured JSON, signed with HMAC so you know it's real
  5. Poll anytime with GET /v1/tasks/{task_id} if you need status

The async design is intentional. Your agent shouldn't have to wait. It can dispatch a call, move on to other work, and handle the result when it arrives — just like any event-driven system.

The philosophy behind primitives

We chose the word "primitive" carefully. In computer science, primitives are the simplest operations a system can perform — the atoms from which everything else is built.

That's what we're building here. Each Humant primitive is a single, well-defined unit of human work. Voice calls. Web navigation. Physical verification. Judgment calls. Simple inputs, structured outputs.

On their own, each primitive is useful. But what gets interesting is what you can build when you combine them — with each other, with LLM steps, with traditional APIs. An agent that can call a business, check their website, and resolve any ambiguities it encounters along the way is a meaningfully more capable agent.

What's next

We're launching new primitives regularly as we validate each one end-to-end with real workers and real tasks. Every new primitive gets its own blog post when it's ready.

If you have a task type you keep running into — something your agent can't handle today — tell us about it. That's how this list grows.

Try a primitive today

Sign up for early access. Your first dispatch takes under five minutes.

Get Your API Key →