Pagination
API endpoints that return lists support pagination via query parameters.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | number | 1 | Page number (1-indexed) |
limit | number | 20 | Results per page (max: 100) |
Usage
curl "https://api.maps.guru/v1/geocode?q=London&limit=10&page=2&key=mapx_your_key"
Response Metadata
Paginated responses include a metadata object:
{
"results": [...],
"metadata": {
"total": 47,
"page": 2,
"limit": 10,
"pages": 5
}
}
| Field | Description |
|---|---|
total | Total number of matching results |
page | Current page number |
limit | Results per page |
pages | Total number of pages |
Iterating Through Pages
To retrieve all results, increment the page parameter until page exceeds pages:
async function getAllResults(query, apiKey) {
const results = [];
let page = 1;
let totalPages = 1;
while (page <= totalPages) {
const response = await fetch(
`https://api.maps.guru/v1/geocode?q=${query}&page=${page}&key=${apiKey}`
);
const data = await response.json();
results.push(...data.results);
totalPages = data.metadata.pages;
page++;
}
return results;
}
Tip
For most use cases, the default page size of 20 is sufficient. Only increase limit if you specifically need larger batches.