kitabisa.com APIkitabisa.com ↗
Access Kitabisa campaign listings, donor data, fundraiser profiles, categories, and search via a structured JSON API. 8 endpoints covering Indonesia's largest crowdfunding platform.
curl -X GET 'https://api.parse.bot/scraper/cd131fa0-0793-4134-b338-fa4ef93229b0/list_campaigns?sort=terbaru&limit=3' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch paginated list of fundraising campaigns with optional filters and sorting. Returns campaigns ordered by the specified sort parameter.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order for campaigns (e.g. 'terbaru' for newest). |
| limit | integer | Number of campaigns to return per page. |
| offset | integer | Offset for pagination. |
| category_id | integer | Filter by category ID. Category IDs can be obtained from get_categories endpoint. |
| campaign_type | string | Filter by campaign type (e.g. 'regular', 'pool_of_fund'). Note: server-side filtering may not strictly enforce this value. |
{
"type": "object",
"fields": {
"data": "array of campaign summary objects with id, title, short_url, campaigner, donation_target, donation_received, category_name, campaign_type, and more",
"status": "string, always 'success'"
},
"sample": {
"data": [
{
"id": 721005,
"title": "Dukung Pendidikan, Bantu Guru Honorer Berdaya!",
"short_url": "salamdukungguru",
"campaigner": "Salam Setara",
"campaign_type": "regular",
"category_name": "Kegiatan Sosial",
"donation_target": 100000000,
"donation_received": 106205254,
"is_forever_running": true,
"donation_percentage": 1.0620426
}
],
"status": "success"
}
}About the kitabisa.com API
The Kitabisa API provides structured access to 8 endpoints covering Indonesia's largest crowdfunding platform, including campaign listings, donor records, fundraiser profiles, and keyword search. The get_campaign_detail endpoint returns the full campaign object — HTML description, donation totals, donor count, campaigner info, and campaign status — while get_campaign_donors exposes individual donation records with amount, timestamp, and anonymity flag.
Campaign Discovery and Filtering
The list_campaigns endpoint returns paginated campaign summaries with fields including id, title, short_url, campaigner, donation_target, donation_received, and category_name. You can sort by parameters like terbaru (newest) and filter by category_id obtained from get_categories. The list_campaigns_by_category endpoint accepts a category_slug directly — slugs like bencana-alam, bantuan-medis, or beasiswa-pendidikan — and resolves the ID internally, making it easier to browse thematically without a prior category lookup. Note that campaign_type filtering (e.g. regular, pool_of_fund) is accepted as a parameter but may not be strictly enforced server-side.
Campaign Detail and Updates
get_campaign_detail accepts a slug from the short_url field of any listing and returns the full campaign object: HTML-formatted description, donation_count, donation_target, donation_received, campaigner details, and current campaign status. For ongoing transparency, get_campaign_latest_news accepts a numeric campaign_id and returns update posts with title, HTML content, and a Unix published timestamp — useful for tracking how actively a campaign communicates with donors.
Donors and Fundraiser Profiles
get_campaign_donors returns up to 10 recent verified donations per campaign, each with amount, verified Unix timestamp, is_anonymous flag, and associated user info. The sort parameter accepts verified or latest. To go deeper on a campaign organizer, get_fundraiser_profile takes the secondary_id hash found in campaign detail responses under campaigner.secondary_id and returns the fundraiser's full_name, biography, avatar URL, is_verified status, and active_since timestamp.
Search and Categories
search_campaigns accepts a query string and optional page and per_page parameters. A minimum per_page of 5 is required for results to be returned — lower values yield empty responses. get_categories requires no inputs and returns the complete category list with id, name, slug, and icon URL, which feeds directly into the filtering parameters of both listing endpoints.
- Aggregate active disaster-relief campaigns using the
bencana-alamcategory slug and trackdonation_receivedover time. - Monitor donor activity on a specific campaign by polling
get_campaign_donorsand recording new entries byverifiedtimestamp. - Build a campaign search tool that queries
search_campaignsby keyword and surfacesdonation_target,donation_received, andcampaignerfor each result. - Profile fundraiser credibility by combining
get_fundraiser_profilefields (is_verified,active_since,biography) with their active campaign data. - Track campaign transparency by ingesting
get_campaign_latest_newsupdate posts and alerting when no new updates have been published within a threshold period. - Classify and count active campaigns across all categories using
get_categoriesIDs paired with paginatedlist_campaignscalls. - Compare fundraising progress across medical aid campaigns by filtering
list_campaignswith thebantuan-medisslug and comparingdonation_receivedtodonation_target.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Kitabisa have an official developer API?+
What does `get_campaign_donors` actually return, and how many records does it give per call?+
campaign_id. Each record includes amount, a verified Unix timestamp, an is_anonymous flag, and associated user info. The sort parameter accepts verified or latest to change ordering, but the page size is fixed at 10 results.Is there any way to get the total donation history for a campaign, not just the 10 most recent donors?+
get_campaign_donors endpoint returns a fixed page of up to 10 donors and does not support arbitrary pagination through full donation history. The get_campaign_detail endpoint does expose aggregate donation_count and donation_received totals. You can fork this API on Parse and revise it to add a paginated donor history endpoint if deeper history access is needed.Does the API cover Kitabisa Zakat or emergency-specific sub-platforms separately from regular campaigns?+
campaign_type values like regular and pool_of_fund is not currently available as a separate endpoint or filter. You can fork the API on Parse and revise it to add a dedicated endpoint targeting a specific campaign type or sub-platform.Why does `search_campaigns` return empty results even when I pass a valid query?+
per_page parameter must be set to a minimum of 5 for the endpoint to return results. Passing a value below 5 — or omitting it with a default that falls below the threshold — will produce an empty response array even for queries that match active campaigns.