---
title: "Search the PCF factor library for a BOM line"
method: POST
path: "/pcf/factor-search"
---

# Search the PCF factor library for a BOM line

`POST /pcf/factor-search`

Keyword-ranked search over the Greentally Factorbase only. One candidate is returned per activity, in the region closest to the requested one (the region itself, then RER for European countries, then GLOBAL, then ROW, then any other). When quantityUnit is given only factors whose activity unit it converts to are returned. Requires org.read.

## Request body

- PcfFactorSearchRequest
  - `limit` integer, nullable
  - `quantityUnit` string, nullable
  - `query` string, required
  - `regionCode` string, nullable

## Response `200`

Ranked factor candidates

- PcfFactorSearchResponse
  - `data` object, required
    - `items` PcfFactorCandidate[], required
      - `factor` PcfFactor, required
        - `activityCode` string, required
        - `activityUnit` string, required
        - `categoryName` string, required
        - `factorValue` number, double, required
        - `id` string, required
        - `name` string, required
        - `referenceProduct` string, nullable
        - `regionCode` string, required
        - `releaseId` string, required
        - `releaseName` string, required
        - `releaseVersion` string, required
        - `releaseYear` integer, nullable
        - `scope` integer, required
        - `sourceLocation` string, nullable
        - `sourceUuid` string, nullable
        - `split` PcfEmissionSplit — Fossil, biogenic and land-use-change parts of a GWP100 value, in the same unit as the value they split.
          - `biogenic` number, double, required
          - `fossil` number, double, required
          - `landUseChange` number, double, required
        - `unit` string, required
      - `regionMatch` 'exact' | 'regional' | 'global' | 'rest_of_world' | 'fallback' | 'unspecified', required
      - `score` number, double, required
      - `warnings` string[], required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `409` — Conflict

## Changes

- **2026-10-01** `b4751fd15397` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/greentally/apis/esgai-api/changes/pcf/factor-search/post.md)

---

[API](https://skmtc.dev/greentally/apis/esgai-api.md) · [All operations](https://skmtc.dev/greentally/apis/esgai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/greentally/apis/esgai-api/revisions/b4751fd15397?raw)
