> For the complete documentation index, see [llms.txt](https://docs.sylvera.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sylvera.com/excel-add-in/functions.md).

# Functions

Every Sylvera function you can use in a formula

Every Sylvera function starts with `SYL.`. Type `=SYL.` in a cell to see them all, with a description of each argument.

Projects are always identified by **registry and registry project ID**. Where a function asks for both, a single cell holding both, such as "VCS 1477", also works: leave the project ID blank.

Arguments in square brackets are optional.

## Registry names

You can give a registry by its full name or a common short form, in any case. `"VCS"`, `"vcs"`, and `"Verra"` all find the same project.

| Short form        | Registry                             |
| ----------------- | ------------------------------------ |
| VCS, VCU          | Verra                                |
| GS, GS4GG, VER    | Gold Standard                        |
| ACR               | American Carbon Registry             |
| CAR, Reserve, CRT | Climate Action Reserve               |
| CDM               | Clean Development Mechanism          |
| ACCU              | Australian Carbon Credit Unit Scheme |
| ART, TREES        | ART                                  |
| WCC               | UK Woodland Carbon Code              |
| PC                | UK Peatland Code                     |
| ICR               | International Carbon Registry        |
| BCS, BioCarbon    | BioCarbon Standard                   |
| BCCR              | BC Carbon Registry                   |
| CCER              | China CCER                           |
| Puro Earth        | Puro                                 |

Other registries, such as J-Credit, EcoRegistry, Isometric, and Global C-Sink Registry, work by name.

## SYL.DATA

```
SYL.DATA(fields, registry, projectId, [vintage])
```

Returns one or more [fields](/excel-add-in/fields.md) for one project, or for a whole column of projects at once.

* **fields:** one or more field names, comma-separated, for example `"Name,Rating,Country,price"`
* **registry, projectId:** single cells or ranges
* **vintage:** a year, or a range of years aligned with your projects. Price uses it, and defaults to the newest vintage. Credit volumes use it, and default to the project total. Other fields ignore it

```
=SYL.DATA("Rating","VCS","1477")
=SYL.DATA("Name,Rating,Latest price",A2:A100,B2:B100)
```

**Choosing a vintage for price.** Latest price uses the project's newest vintage unless you give one. Add the `vintage` field to see which vintage each price is for.

```
=SYL.DATA("Latest price,vintage","VCS","1477")
=SYL.DATA("Latest price,vintage","VCS","1477",2020)
```

The first returns the newest vintage's price; the second returns the 2020 vintage's. For a column of projects, give a column of vintage years as the last argument, for example `C2:C100`.

A vintage with no price, or a project with no volume data, shows "No data" rather than an error.

## SYL.HIST

```
SYL.HIST(registry, projectId, [field], [from], [to], [vintage])
```

Returns a project's price history as a dated table. Uses the newest vintage unless you give one. Type dates as `"2025-01-01"`.

```
=SYL.HIST("VCS","1477")
```

## SYL.TABLE

```
SYL.TABLE([fields], [projectType], [ratings], [onlyAssessed])
```

Returns a table of projects from across the catalog. With no arguments, it lists every rated project with Registry, Project ID, Name, and Rating.

* **projectType:** one or more project types, comma-separated, for example `"REDD+,ARR"`
* **ratings:** one or more Ratings, for example `"AAA,AA,A"` or `"Unrated"`

```
=SYL.TABLE("Name,Rating,Project type","REDD+,ARR","AAA,AA,A")
```

## SYL.BY\_REF

```
SYL.BY_REF(refs, [fields])
```

Returns a table for a specific set of projects, each given as `registry:id` or a combined value like "VCS 1477". A project that can't be found is left out.

```
=SYL.BY_REF("Verra:1477, Gold Standard:42","Name,Rating")
```

## SYL.LIST

```
SYL.LIST(listName, [fields])
```

Returns a table of the projects in one of your [project lists](/excel-add-in/project-lists.md), and updates when you add or remove projects. Lists are saved on your device, so colleagues who open the workbook see an error instead.

```
=SYL.LIST("To buy","Name,Rating,Latest price")
```

## SYL.PRICES

```
SYL.PRICES(registry, projectId)
```

Returns every vintage for a project with its price, confidence, and volume.

```
=SYL.PRICES("VCS","1477")
```

## SYL.PRICE\_AT

```
SYL.PRICE_AT(field, registry, projectId, vintage, asOfDate)
```

Returns a project's price as of a date: the closest estimate on or before it. Leave vintage blank for the newest. `asOfDate` can be a date cell or a date typed as `"2026-09-21"`. No estimate that far back shows "No data".

```
=SYL.PRICE_AT("price","VCS","1477",2020,"2026-09-21")
```

## SYL.VOLUMES

```
SYL.VOLUMES(registry, projectId, [from], [to])
```

Returns credits permitted, issued, retired, and cancelled for each vintage, newest first, with CORSIA CP1 eligible credits. Give a date range to count only the credits issued, retired, and cancelled in it.

```
=SYL.VOLUMES("VCS","1477")
```

## SYL.BUYERS

```
SYL.BUYERS(registry, projectId, [from], [to], [limit])
```

Returns who retired a project's credits, largest first, with credits retired, number of retirements, and first and last retirement dates. Retirements with no named buyer are grouped as "Unmatched or undisclosed".

```
=SYL.BUYERS("VCS","1477","2024-01-01",,10)
```

## SYL.MARKET

```
SYL.MARKET([measure], [groupBy], [fromYear], [toYear], [projectType], [registry], [list])
```

Returns credits issued, retired, cancelled, and outstanding across the whole market, not just one project. Years count when credits were issued, retired, or cancelled.

* **measure:** one or more of `"Issued credits"`, `"Retired credits"`, `"Cancelled credits"`, and `"Outstanding credits"`, comma-separated. Short forms such as `"issued"` and `"retired"` work. Leave blank for all four
* **groupBy:** up to two of `"year"`, `"vintage year"`, `"project category"`, `"project type"`, and `"registry"`, comma-separated. Leave blank for one total per measure
* **fromYear, toYear:** the years to count, as numbers or date cells. Leave blank to count from the earliest year up to today
* **projectType, registry:** count only these, comma-separated, for example `"REDD+,ARR"` or `"Verra,Gold Standard"`

Outstanding credits are those issued less those retired and cancelled, up to the end of each year.

```
=SYL.MARKET("issued,retired","year",2017)
=SYL.MARKET("retired","project category,year",2017)
=SYL.MARKET("outstanding","vintage year")
=SYL.MARKET("issued","registry",2017,,"REDD+")
```

With one breakdown, you get a table with a Total row. With two breakdowns and one measure, you get a grid: the first breakdown down the side, the second across the top. With two breakdowns and several measures, you get one row per pair.

{% hint style="info" %}
**Coming later.** Totals for one of your project lists (`list`), retirements split into voluntary and compliance, and average retirement price. Asking for them now shows "isn't available yet".
{% endhint %}

## SYL.FIND

```
SYL.FIND(name, [limit])
```

Searches for projects by name and returns the closest matches with their registry, project ID, and Rating.

```
=SYL.FIND("Kasigau")
```

## SYL.VALUES

```
SYL.VALUES(dimension, [level])
```

Lists the registries or project types Sylvera covers, with a project count for each. Use `"registry"` or `"project type"`.

```
=SYL.VALUES("registry")
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.sylvera.com/excel-add-in/functions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
