> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://www.buildwithorbit.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://www.buildwithorbit.ai/_mcp/server.

# How it works

Orbit consists of two endpoints: a search endpoint and an integrate endpoint.

Your AI agent can use these endpoints to [search](/api-reference/api-reference/orbit/search-public-requests) for and [integrate](/api-reference/api-reference/orbit/integrate-a-public-request) public APIs that fit your task description. Or you can connect the Orbit MCP Server to Claude to automatically search and integrate public APIs for you.

## Set up the Orbit MCP Server

To use the Orbit MCP Server with Claude, run the following command in your terminal:

```
claude mcp add --transport http orbit https://mcp.buildwithorbit.ai/mcp
```

Describe your task to Claude, and it automatically searches for and integrates public APIs that fit your task description.

## Use Orbit endpoints with your AI agent

Your AI agent can use the Orbit endpoints to search for and integrate public APIs that fit your task description.

### Search

The [search endpoint](/docs/api-reference/orbit/search-public-requests/) takes a plain language description of the task you want to accomplish and returns a list of public API endpoints with an evaluation summary. The evaluation summary assesses how well each API fits the task.

### Integrate

Select the API that fits best and pass its `id` to the [integrate endpoint](/docs/api-reference/orbit/integrate-a-public-request/). The integrate endpoint then generates and returns a `taskBrief` with instructions for how to use the selected API.

### Examples

In Orbit, put your task description in the `q` field of the search endpoint.

```
{
"q": "standardize paypal invoices"
}
```

You'll get a list of public API endpoints with an evaluation summary. An abbreviated sample response looks like this:

```
{
    "data": [
        {
            "resourceType": "endpoint",
            "id": "19024122-cae9090c-8172-4845-951e-f33bf8d529e1",
            "name": "Create template",
            "description": "Creates an invoice template. You can use details from this template to create an invoice. You can create up to 50 templates.Note: Every merchant starts with three PayPal system templates that are optimized for the unit type billed. The template includes Quantity, Hours, and Amount.",
            "method": "POST",
            "url": "https://api-m.sandbox.paypal.com/v2/invoicing/templates",
            "evaluateGuide": "Creates an invoice template whose details can later be used to create invoices, including Quantity, Hours, and Amount. It supports creating up to 50 templates.\nUse for: create invoice template, define billed unit details, prepare reusable invoice details\nNot supported: listing templates, updating an existing template, creating an invoice"
        },
    ]
}
```

Copy your task description from `q` and pass it to `task`. Then copy the selected result's `id` and `resourceType` into the integrate request's `resources` array as `id` and `type`.

```
{
    "task": "standardize paypal invoices",
    "resources": [
        {
            "id": "19024122-cae9090c-8172-4845-951e-f33bf8d529e1",
            "type": "endpoint"
        }
    ]
}
```

The integrate endpoint returns a `taskBrief` with instructions for how to use the selected API.

```
TASK BRIEF: Create a standardized PayPal invoice template (PayPal Invoicing API)

FIT
The request creates one reusable invoice template with standardized invoice details, recipients, items, taxes, discounts, and display settings. It does not standardize existing invoices or create invoices from the template.

AUTH
Bearer token authentication
Header: Authorization: Bearer <access_token>

BASE URL
https://api-m.sandbox.paypal.com

STEPS
1. POST /v2/invoicing/templates
    Params (JSON body):
    Content-Type header: string 'application/json' (required)
    PayPal-Request-Id header: string a unique request ID, such as a generated GUID (required for idempotency)
    name: string 'template_{{$timestamp}}'
    default_template: boolean  true
    unit_of_measure: string 'QUANTITY'
    standard_template: boolean false
    Returns:
    201 Created; JSON body includes id (for example, 'TEMP-0UG25679CA7606120'), name, default_template, template_info, settings, unit_of_measure, standard_template, and links. The response also includes generated item and tax IDs and a self link plus a delete link.
    Threading:
    None

GOTCHAS
- Resolve {{base_url}} to https://api-m.sandbox.paypal.com and supply a valid {{access_token}}.
- PayPal-Request-Id should be unique for each logically distinct request
- The enabled Prefer header is return=representation; do not also send the disabled minimal-response header.

- Preserve the nested template_info, settings, recipient, item, tax, discount, and amount.breakdown structures; currency amounts are represented as decimal strings such as '50.00'.
```