Greystar API endpoint
Lists Greystar's renter guides (applying and leasing, general guides, moving) and blog posts from its public sitemap, newest first. Entries carry the section, slug, URL and last-modified date; fetch /greystar/articles/{section}/{slug} for the title and body.
/greystar/articlesMCP tool: greystar_articles
section (optional): applying-and-leasing, general-guides, moving, or blog. Omit for every section.query (optional): text matched against the slug.page (optional): 1-based page, default 1.per_page (optional): 1 to 100, default 50.Lists Greystar's renter guides and blog posts from its public sitemap, newest first by last-modified date. Each entry has section, slug, url, and last_modified; titles and bodies are not in the sitemap, so call /greystar/articles/{section}/{slug} for them. Index pages (for example the blog's browse page) are excluded. An unknown section returns 400; a page past the end returns an empty entries array. The sitemap is cached for an hour.
| Field | Filled in, of 12 checked | Values in the sample |
|---|---|---|
| section | 12 | general-guides in all 12 |
| slug | 12 | |
| url | 12 | greystar.com |
| last_modified | 12 | 2026-07-31 to 2026-08-28 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| section | string | No | Content section Allowed values: applying-and-leasing, general-guides, moving, blog. | ||
| query | string | No | Text matched against the slug | ||
| page | integer | No | 1-based page | ||
| per_page | integer | No | Entries per page, 1-100 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/greystar/articles?section=applying-and-leasing&query=coffee&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total_count": 256,
"page": 1,
"per_page": 50,
"total_pages": 6,
"entries": [
{
"section": "blog",
"slug": "hosting-a-dinner-party",
"url": "https://www.greystar.com/blog/hosting-a-dinner-party",
"last_modified": "2026-03-06"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/greystar.ContentList
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| entries | array | No | ||||
| entries[].last_modified | string | No | ||||
| entries[].section | string | No | ||||
| entries[].slug | string | No | ||||
| entries[].url | string | No | ||||
| page | integer | No | ||||
| per_page | integer | No | ||||
| total_count | integer | No | ||||
| total_pages | integer | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/greystar/articles?section=applying-and-leasing&query=coffee&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"