# Profiles Ucl — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for UCL researchers by keywords, department, and field of research to discover expert profiles and their specializations. Find the right academic contacts and learn about their research interests to support collaborations or academic inquiries.

**Category:** Education | **Website:** [profiles.ucl.ac.uk/search?by=text&type=user&v=](https://profiles.ucl.ac.uk/search?by=text&type=user&v=) | **Docs:** [parse.bot/marketplace/a6093028-0f89-4b70-aafa-c56edb3c172c/profiles-ucl-ac-uk-api](https://parse.bot/marketplace/a6093028-0f89-4b70-aafa-c56edb3c172c/profiles-ucl-ac-uk-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-profiles-ucl-ac-uk-api-a6093028/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_researcher

Fetch a detailed UCL researcher profile by url_id (as returned in search_researchers results). Returns profile information including name, title, position, department, research fields, email address (when publicly listed), ORCID ID, and up to 100 most recent publications sorted by date descending. Each publication includes its title, type, DOI, journal, and publication date. Makes two requests: one for the profile and one for publications.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url_id` | string | Yes | Researcher's URL identifier as returned by search_researchers (e.g. '857-massi-pontil'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-profiles-ucl-ac-uk-api-a6093028/get_researcher \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url_id":"<string>"}'
```

### search_researchers

Search UCL researcher profiles by name or keyword, optionally filtered by department or field of research. Returns paginated results sorted by relevance when a query is provided, or alphabetically by last name when no query is given. Each result includes the researcher's name, title, position, department, and research fields. Pagination is controlled by page and per_page parameters.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `department` | string | No | Filter by department name exactly as it appears on UCL Profiles (e.g. 'Dept of Computer Science', 'Dept of Statistical Science'). Omitting returns results from all departments. |
| `field_of_research` | string | No | Filter by field of research tag (e.g. 'Artificial intelligence', 'Machine learning', 'Neurosciences'). Omitting returns results from all fields. |
| `page` | integer | No | Page number for pagination (1-indexed). |
| `per_page` | integer | No | Number of results per page (1-100). |
| `query` | string | No | Search keyword matching against researcher name, position, bio, research interests, teaching activities, and publications. When omitted or empty, returns all researchers. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-profiles-ucl-ac-uk-api-a6093028/search_researchers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"department":"<string>","field_of_research":"<string>","page":"<integer>","per_page":"<integer>","query":"<string>"}'
```
