> ## Documentation Index
> Fetch the complete documentation index at: https://docs.api.vcm.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# List projects with satellite data

> List all projects that have satellite verification data available.

    Returns satellite metrics for each project including integrity score, risk level,
    tree cover loss, and alert counts.

    **Filtering:**
    - `risk_level`: Filter by risk level (`VERY_LOW`, `LOW`, `MEDIUM`, `HIGH`)
    - `has_boundary`: Only return projects with boundary data (default: `true`)

    **Pagination:** Uses `limit`/`offset` (not page-based). Default: 100 results.



## OpenAPI

````yaml https://api.vcm.fyi/v1/openapi.json get /v1/satellite/
openapi: 3.1.0
info:
  title: VCM.fyi API
  version: 1.0.0
  description: >

    # VCM.fyi API


    Programmatic access to carbon market intelligence — covering

    11,000+ carbon credit projects across 6 major registries (Verra, Gold
    Standard,

    CAR, ACR, Isometric, Puro Earth).


    ## Resources


    | Resource | Description |

    |---|---|

    | **Projects** | Search, filter, and retrieve carbon credit project metadata
    |

    | **Credits** | Individual credit transactions (issuances, retirements,
    cancellations) |

    | **Buyers** | Aggregated buyer intelligence from retirement transaction
    data |

    | **Charts** | Pre-aggregated chart data for visualizations |

    | **Countries** | Country-level carbon market policy intelligence (Article
    6, CORSIA, carbon pricing) |

    | **Forensics** | AI-generated project risk analysis from weekly news
    scanning |

    | **Proponent Forensics** | Developer/proponent-level risk ratings and due
    diligence |

    | **Satellite** | Forest integrity and deforestation metrics |

    | **Supply & Demand** | Aggregated issuance vs. retirement volumes over time
    |

    | **API Keys** | Manage your API keys and view usage statistics |


    ## Authentication


    All endpoints require an API key passed in the `X-API-KEY` header:


    ```bash

    curl -H "X-API-KEY: vcm_live_your_key_here" https://api.vcm.fyi/v1/projects/

    ```


    Get your API key at
    [app.vcm.fyi/settings/api](https://app.vcm.fyi/settings/api).


    ## Rate Limits


    | Plan | Requests/min | Monthly Calls |

    |------|-------------|---------------|

    | Pro | 300 | 100,000 |

    | Enterprise | 1,000 | Unlimited |


    Rate limit headers are included in every response:

    - `X-RateLimit-Limit` — Your limit per minute

    - `X-RateLimit-Remaining` — Remaining requests in current window

    - `X-RateLimit-Reset` — Unix timestamp when the window resets


    ## Pagination


    List endpoints return paginated results:


    ```json

    {
      "pagination": {
        "total_entries": 11234,
        "current_page": 1,
        "total_pages": 113,
        "next_page": "/v1/projects/?current_page=2&per_page=100"
      },
      "data": [...]
    }

    ```
  contact:
    name: VCM.fyi Support
    email: support@vcm.fyi
    url: https://vcm.fyi
  termsOfService: https://vcm.fyi/terms
  x-logo:
    url: https://app.vcm.fyi/logo.svg
    altText: VCM.fyi
servers:
  - url: https://vcm-fyi-api.fly.dev
    description: Production
security: []
tags:
  - name: API Keys
    description: Create, list, revoke your API keys and view usage statistics.
  - name: Buyers
    description: >-
      Aggregated buyer intelligence derived from retirement transactions.
      Includes volume metrics, activity flags, category/country breakdowns, and
      analytics.
  - name: Charts
    description: >-
      Pre-aggregated chart data for visualizations: projects by listing date,
      credits by transaction date, category breakdowns, credit histograms, and
      top buyers.
  - name: Countries
    description: >-
      Country-level carbon market policy intelligence covering Article 6 status,
      CORSIA eligibility, carbon pricing, VCM regulation, and AI-generated
      policy summaries.
  - name: Credits
    description: >-
      Query individual credit transactions — issuances, retirements, and
      cancellations — with quantity, vintage, date, and beneficiary details.
  - name: Forensics
    description: >-
      AI-generated project risk analysis from weekly scanning of 100+ news
      sources. Includes entries, memos, weekly diffs, and legacy v1 endpoints.
  - name: Projects
    description: >-
      Search, filter, and retrieve metadata for 11,000+ carbon credit projects
      across Verra, Gold Standard, CAR, ACR, Isometric, and Puro Earth.
  - name: Proponent Forensics
    description: >-
      Developer/proponent-level risk ratings and due diligence analysis with
      governance, financial, legal, social, and institutional risk pillar
      scores.
  - name: Satellite
    description: >-
      Forest integrity and deforestation metrics from Global Forest Watch,
      including tree cover loss, GLAD alerts, fire alerts, and project boundary
      GeoJSON.
  - name: Supply & Demand
    description: >-
      Aggregated issuance (supply) vs. retirement (demand) volumes over time,
      with monthly, quarterly, or yearly aggregation.
paths:
  /v1/satellite/:
    get:
      tags:
        - Satellite
      summary: List projects with satellite data
      description: |-
        List all projects that have satellite verification data available.

            Returns satellite metrics for each project including integrity score, risk level,
            tree cover loss, and alert counts.

            **Filtering:**
            - `risk_level`: Filter by risk level (`VERY_LOW`, `LOW`, `MEDIUM`, `HIGH`)
            - `has_boundary`: Only return projects with boundary data (default: `true`)

            **Pagination:** Uses `limit`/`offset` (not page-based). Default: 100 results.
      operationId: list_satellite_data_v1_satellite__get
      parameters:
        - name: risk_level
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                pattern: ^(VERY_LOW|LOW|MEDIUM|HIGH)$
              - type: 'null'
            title: Risk Level
        - name: has_boundary
          in: query
          required: false
          schema:
            type: boolean
            default: true
            title: Has Boundary
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000
            minimum: 1
            default: 100
            title: Limit
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
            title: Offset
      responses:
        '200':
          description: List of projects with satellite verification metrics
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SatelliteDataResponse'
                title: Response List Satellite Data V1 Satellite  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    SatelliteDataResponse:
      properties:
        project_id:
          type: string
          title: Project Id
        has_boundary:
          type: boolean
          title: Has Boundary
        boundary_source:
          anyOf:
            - type: string
            - type: 'null'
          title: Boundary Source
        area_km2:
          anyOf:
            - type: number
            - type: 'null'
          title: Area Km2
        integrity_score:
          anyOf:
            - type: number
            - type: 'null'
          title: Integrity Score
        risk_level:
          anyOf:
            - type: string
            - type: 'null'
          title: Risk Level
        risk_trajectory:
          anyOf:
            - type: string
            - type: 'null'
          title: Risk Trajectory
        total_loss_ha:
          anyOf:
            - type: number
            - type: 'null'
          title: Total Loss Ha
        total_loss_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Total Loss Pct
        loss_by_year:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Loss By Year
        peak_loss_year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Peak Loss Year
        peak_loss_ha:
          anyOf:
            - type: number
            - type: 'null'
          title: Peak Loss Ha
        alert_count_12m:
          anyOf:
            - type: integer
            - type: 'null'
          title: Alert Count 12M
        alert_area_ha:
          anyOf:
            - type: number
            - type: 'null'
          title: Alert Area Ha
        fire_count_12m:
          anyOf:
            - type: integer
            - type: 'null'
          title: Fire Count 12M
        last_updated:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Updated
      type: object
      required:
        - project_id
        - has_boundary
        - boundary_source
        - area_km2
        - integrity_score
        - risk_level
        - risk_trajectory
        - total_loss_ha
        - total_loss_pct
        - loss_by_year
        - peak_loss_year
        - peak_loss_ha
        - alert_count_12m
        - alert_area_ha
        - fire_count_12m
        - last_updated
      title: SatelliteDataResponse
      description: Response model for satellite data endpoint.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY

````