# DOI.org resolver on looot

DOI.org resolver gives your agent one job through looot: resolve research doi. 1 endpoint runs today, some of them free.

## At a glance

- Category: Other
- Access: No key needed: these endpoints are open, looot calls them for you
- Price: some free

## Choose it when

- You need to resolve research doi: DOI.org resolver is the only provider on looot that runs this job today.
- You want to start without any key: some of its endpoints are open and looot calls them for you.

## Endpoints and jobs

| Endpoint | Job | Price | Runs (30 days) | Benchmark |
|---|---|---|---|---|
| [Resolve a DOI to its landing page URL](/public-catalog/doi-resolve) | `research.doi.resolve` | free | 94.1% of 17 runs without an error, median 89 ms | no benchmark yet |

## How the numbers are measured

Run numbers are looot's own runs of each endpoint over the last 30 days: the share that completed without an error, and the median time to answer. An endpoint with fewer than 10 runs in that window shows "not enough runs to rank" and is never ranked. Prices are what looot charges per call or per result, fee included, read from the live catalog; you prepay credit and each call is charged when it runs.

Read 2026-11-10 23:22 UTC.

## For agents

The minimal request for Resolve a DOI to its landing page URL (`doi-resolve`). Replace each <placeholder> with your value and send a new idempotency key per run.

### MCP

```json
{
  "endpointId": "doi-resolve",
  "input": {
    "doi": "<doi>"
  },
  "idempotencyKey": "<a new id per run>"
}
```

### REST

```bash
curl -X POST https://api.looot.ai/v1/runs \
  -H "Authorization: Bearer $LOOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"endpointId":"doi-resolve","input":{"doi":"<doi>"},"idempotencyKey":"<a new id per run>"}'
```

### CLI

```bash
looot run doi-resolve --input '{"doi":"<doi>"}'
```
