Skip to main content

Pagination

List endpoints return paginated results. Use current_page and per_page query parameters to navigate.

Parameters

ParameterDefaultRangeDescription
current_page11+Page number to retrieve
per_page1001–200Items per page

Response Format

{
  "pagination": {
    "total_entries": 11234,
    "current_page": 1,
    "total_pages": 113,
    "next_page": "/v1/projects/?current_page=2&per_page=100"
  },
  "data": [...]
}
FieldDescription
total_entriesTotal number of matching items
current_pageCurrent page number
total_pagesTotal number of pages
next_pageURL for the next page (null on last page)

Example: Paginating Through All Projects

import requests

API_KEY = "vcm_live_your_key"
headers = {"X-API-KEY": API_KEY}
base_url = "https://api.vcm.fyi/v1"

page = 1
all_projects = []

while True:
    response = requests.get(
        f"{base_url}/projects/",
        headers=headers,
        params={"current_page": page, "per_page": 200}
    )
    data = response.json()
    all_projects.extend(data["data"])

    if data["pagination"]["next_page"] is None:
        break
    page += 1

print(f"Fetched {len(all_projects)} projects")

Sorting

Most list endpoints support a sort parameter:
GET /v1/projects/?sort=-issued
GET /v1/projects/?sort=+country&sort=-retired
  • +field or field — ascending order
  • -field — descending order
  • Multiple sort fields are applied in order