> ## 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.

# Get country policy detail

> Retrieve comprehensive carbon market policy intelligence for a specific country.

    The `country_code` must be an ISO 3166-1 alpha-2 code (e.g., `ID` for Indonesia,
    `BR` for Brazil, `KE` for Kenya).

    **Returns detailed data across multiple dimensions:**
    - **Article 6:** Host/buyer status, LoA counts, bilateral partners, first LoA date
    - **CORSIA:** Eligibility, phase, commitment level
    - **Carbon pricing:** Tax rate (USD), ETS name and status
    - **Regulatory:** VCM status, export restrictions, domestic retention requirements
    - **Corresponding adjustments:** CA policy, CA for VCM, first transfer date
    - **NDC:** Target year, reduction percentage, base year, conditionality
    - **Project pipeline:** Total projects, credits issued/retired, active registries
    - **AI summaries:** Policy summary, recent developments, market outlook, key risks/opportunities

    Returns 404 if the country code is not recognized or has no data.



## OpenAPI

````yaml https://api.vcm.fyi/v1/openapi.json get /v1/countries/{country_code}
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/countries/{country_code}:
    get:
      tags:
        - Countries
      summary: Get country policy detail
      description: >-
        Retrieve comprehensive carbon market policy intelligence for a specific
        country.

            The `country_code` must be an ISO 3166-1 alpha-2 code (e.g., `ID` for Indonesia,
            `BR` for Brazil, `KE` for Kenya).

            **Returns detailed data across multiple dimensions:**
            - **Article 6:** Host/buyer status, LoA counts, bilateral partners, first LoA date
            - **CORSIA:** Eligibility, phase, commitment level
            - **Carbon pricing:** Tax rate (USD), ETS name and status
            - **Regulatory:** VCM status, export restrictions, domestic retention requirements
            - **Corresponding adjustments:** CA policy, CA for VCM, first transfer date
            - **NDC:** Target year, reduction percentage, base year, conditionality
            - **Project pipeline:** Total projects, credits issued/retired, active registries
            - **AI summaries:** Policy summary, recent developments, market outlook, key risks/opportunities

            Returns 404 if the country code is not recognized or has no data.
      operationId: get_country_detail_v1_countries__country_code__get
      parameters:
        - name: country_code
          in: path
          required: true
          schema:
            type: string
            title: Country Code
      responses:
        '200':
          description: Full country policy profile with AI-generated summaries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountryPolicyResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    CountryPolicyResponse:
      properties:
        country_code:
          type: string
          title: Country Code
        country_name:
          type: string
          title: Country Name
        region:
          anyOf:
            - type: string
            - type: 'null'
          title: Region
        subregion:
          anyOf:
            - type: string
            - type: 'null'
          title: Subregion
        article6_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Article6 Status
        article6_host_loas:
          type: integer
          title: Article6 Host Loas
        article6_host_signed:
          type: integer
          title: Article6 Host Signed
          default: 0
        article6_host_mous:
          type: integer
          title: Article6 Host Mous
          default: 0
        article6_bilateral_partners:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Article6 Bilateral Partners
        article6_first_loa_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Article6 First Loa Date
        host_agreements:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Host Agreements
        is_buyer_country:
          type: boolean
          title: Is Buyer Country
          default: false
        article6_buyer_loas:
          type: integer
          title: Article6 Buyer Loas
        buyer_host_partners:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Buyer Host Partners
        buyer_agreements:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Buyer Agreements
        has_initial_report:
          type: boolean
          title: Has Initial Report
          default: false
        initial_report_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Initial Report Date
        cooperative_approach_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Cooperative Approach Ids
        has_dna:
          type: boolean
          title: Has Dna
          default: false
        dna_authority_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Dna Authority Name
        has_participation_requirements:
          type: boolean
          title: Has Participation Requirements
          default: false
        participation_requirements_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Participation Requirements Date
        jcm_project_count:
          type: integer
          title: Jcm Project Count
          default: 0
        jcm_total_reductions_ktco2e:
          anyOf:
            - type: number
            - type: 'null'
          title: Jcm Total Reductions Ktco2E
        corsia_eligible:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Corsia Eligible
        corsia_phase:
          anyOf:
            - type: string
            - type: 'null'
          title: Corsia Phase
        corsia_commitment:
          anyOf:
            - type: string
            - type: 'null'
          title: Corsia Commitment
        has_carbon_tax:
          type: boolean
          title: Has Carbon Tax
        carbon_tax_rate_usd:
          anyOf:
            - type: number
            - type: 'null'
          title: Carbon Tax Rate Usd
        has_ets:
          type: boolean
          title: Has Ets
        ets_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Ets Name
        eu_eligible:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Eu Eligible
        cbam_exposure:
          anyOf:
            - type: string
            - type: 'null'
          title: Cbam Exposure
        vcm_regulatory_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Vcm Regulatory Status
        export_restrictions:
          type: boolean
          title: Export Restrictions
        domestic_retention_pct:
          anyOf:
            - type: integer
            - type: 'null'
          title: Domestic Retention Pct
        ca_policy:
          anyOf:
            - type: string
            - type: 'null'
          title: Ca Policy
        ca_for_vcm:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Ca For Vcm
        ca_first_transfer_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Ca First Transfer Date
        country_risk_score:
          anyOf:
            - type: integer
            - type: 'null'
          title: Country Risk Score
        country_risk_factors:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Country Risk Factors
        ndc_target_year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ndc Target Year
        ndc_reduction_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Ndc Reduction Pct
        ndc_base_year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Ndc Base Year
        ndc_conditional:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Ndc Conditional
        ndc_last_updated:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Ndc Last Updated
        total_projects:
          type: integer
          title: Total Projects
          default: 0
        total_credits_issued:
          type: integer
          title: Total Credits Issued
          default: 0
        total_credits_retired:
          type: integer
          title: Total Credits Retired
          default: 0
        active_registries:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Active Registries
        policy_summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Policy Summary
        recent_developments:
          anyOf:
            - type: string
            - type: 'null'
          title: Recent Developments
        market_outlook:
          anyOf:
            - type: string
            - type: 'null'
          title: Market Outlook
        key_risks:
          anyOf:
            - type: string
            - type: 'null'
          title: Key Risks
        key_opportunities:
          anyOf:
            - type: string
            - type: 'null'
          title: Key Opportunities
        last_ai_scan_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Last Ai Scan Date
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
        - country_code
        - country_name
        - region
        - subregion
        - article6_status
        - article6_host_loas
        - article6_bilateral_partners
        - article6_first_loa_date
        - article6_buyer_loas
        - corsia_eligible
        - corsia_phase
        - corsia_commitment
        - has_carbon_tax
        - carbon_tax_rate_usd
        - has_ets
        - ets_name
        - eu_eligible
        - cbam_exposure
        - vcm_regulatory_status
        - export_restrictions
        - domestic_retention_pct
        - policy_summary
        - recent_developments
        - market_outlook
        - key_risks
        - key_opportunities
        - last_ai_scan_date
        - updated_at
      title: CountryPolicyResponse
      description: Response model for country policy detail.
    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

````