News24 API endpoint
Returns public News24 article metadata and body paragraphs from a canonical article URL. Subscriber-only articles return the standfirst as the only paragraph with paywalled set to true.
/news24/articleQuery parameter: url is a canonical HTTPS news24.com article URL of the form https://www.news24.com/<section>/<slug>-YYYYMMDD-NNNN. Returns title, description, publication and update time (UTC), section path, authors, lead image and body paragraphs.
Paywall: a large share of News24 articles are subscriber-only. For those, anonymous readers receive no body, so the response carries only the standfirst as the single paragraph and paywalled is true. Freely readable articles omit paywalled. Category pages, the sitemap and other non-article URLs return a 400 error.
| Field | In the sample | Value in the sample |
|---|---|---|
| url | Has a value | news24.com |
| title | Has a value | 90 characters |
| published_at | Has a value | 2026-09-24 |
| updated_at | Has a value | 2026-09-26 |
| section | Has a value | “world” |
| authors | Has a value | 1 entry |
| image_url | Has a value | news24cobalt.24.co.za |
| paragraphs | Has a value | 61 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Canonical News24 article URL | https://www.news24.com/world/untangling-the-meth-mexican-cartels-set-up-huge-labs-in-sa-to-service-demand-in-australia-20260924-0692 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/news24/article?url=https%3A%2F%2Fwww.news24.com%2Fworld%2Funtangling-the-meth-mexican-cartels-set-up-huge-labs-in-sa-to-service-demand-in-australia-20260924-0692" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"url": "https://www.news24.com/world/example-20260924-0692",
"title": "Example article",
"published_at": "2026-09-24T11:32:34Z",
"section": "world",
"authors": [
"Example Author"
],
"paragraphs": [
"Example public paragraph."
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.articleResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | newsplatform.ArticleResponse | No | ||||
| data.authors | array | No | ||||
| data.description | string | No | ||||
| data.image_url | string | No | ||||
| data.paragraphs | array | No | ||||
| data.paywalled | boolean | No | Paywalled is true when the publisher serves only a teaser of this article to anonymous readers, so Paragraphs is a partial body rather than the full text. It is omitted when the full public body was returned. | |||
| data.published_at | string | No | ||||
| data.section | string | No | ||||
| data.title | string | No | ||||
| data.updated_at | string | No | ||||
| data.url | string | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/news24/article?url=https%3A%2F%2Fwww.news24.com%2Fworld%2Funtangling-the-meth-mexican-cartels-set-up-huge-labs-in-sa-to-service-demand-in-australia-20260924-0692" \
-H "x-api-key: $CRAWLORA_API_KEY"