Cosmos
7 endpoints.
- GET /v1/cosmos/cluster
- GET /v1/cosmos/cluster_posts
- GET /v1/cosmos/post
- GET /v1/cosmos/user
- GET /v1/cosmos/search
- GET /v1/cosmos/user_clusters
- GET /v1/cosmos/user_posts
GET /v1/cosmos/cluster
Collection
Get a public Cosmos collection with its owner, description, cover, counts, and public subcollections. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Public Cosmos collection URL. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/cosmos/cluster?url=https://www.cosmos.so/design/the-best-band-posters" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/cosmos/cluster?url=https://www.cosmos.so/design/the-best-band-posters", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/cosmos/cluster?url=https://www.cosmos.so/design/the-best-band-posters",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": 1632840802,
"name": "the best band posters",
"slug": "the-best-band-posters",
"description": "have you seen one of these in a room before?",
"url": "https://www.cosmos.so/design/the-best-band-posters",
"cover_image_url": "https://cdn.cosmos.so/images/b3964bde-a6d7-418d-91a6-09b1b7b6b9aa?rect=0,0,736,736",
"post_count": 46,
"follower_count": 746,
"owner": {
"id": 234172146,
"username": "design",
"full_name": "Design",
"avatar_url": "https://cdn.cosmos.so/e39a4934-53ae-4536-95a3-18ccd4d052a0"
},
"subcollections": []
}GET /v1/cosmos/cluster_posts
Collection Posts
Get public posts saved to a Cosmos collection. Supports cursor pagination. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Public Cosmos collection URL. |
next_cursor | query | string | Pass the previous response cursor unchanged. Stop when it is null; sending the literal string "null" returns an empty terminal page without fetching or charging. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/cosmos/cluster_posts?url=https://www.cosmos.so/design/the-best-band-posters" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/cosmos/cluster_posts?url=https://www.cosmos.so/design/the-best-band-posters", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/cosmos/cluster_posts?url=https://www.cosmos.so/design/the-best-band-posters",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"items": [
{
"id": 2107587668,
"url": "https://www.cosmos.so/e/2107587668",
"created_at": "2026-01-24T17:23:49.338775Z",
"caption": "Japanese movie poster for A Hard Day's Night (1964) featuring The Beatles.",
"text": null,
"title": null,
"description": null,
"owner": {
"id": 2074596056,
"username": "audreyelli"
},
"source_url": "https://www.pinterest.com/pin/7177680652369084/",
"source_author": {
"username": "telliott1817",
"full_name": "Tom Elliott",
"profile_url": "https://www.pinterest.com/telliott1817",
"avatar_url": null
},
"media": [
{
"id": "8d612bfd-2b7b-458c-ac99-af7c406eef97",
"type": "StaticImage",
"url": "https://cdn.cosmos.so/8d612bfd-2b7b-458c-ac99-af7c406eef97",
"width": 1080,
"height": 1671,
"ai_generated": false,
"duration": null,
"thumbnail_url": null,
"video_url": null,
"playback_url": null
}
],
"price": null,
"brand": null,
"saved_at": "2026-10-03T02:00:48.395167Z"
}
],
"total_count": 46,
"next_cursor": "eyJ2MSI6MTAuMCwidjIiOjE0NDU4Mzc5fQ==",
"has_more": true
}GET /v1/cosmos/post
Post
Get a public Cosmos post with media URLs, captions, source links, and save count. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Public Cosmos post URL. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/cosmos/post?url=https://www.cosmos.so/e/2107587668" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/cosmos/post?url=https://www.cosmos.so/e/2107587668", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/cosmos/post?url=https://www.cosmos.so/e/2107587668",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": 2107587668,
"url": "https://www.cosmos.so/e/2107587668",
"created_at": "2026-01-24T17:23:49.338775Z",
"caption": "Japanese movie poster for A Hard Day's Night (1964) featuring The Beatles.",
"text": null,
"title": null,
"description": null,
"owner": {
"id": 2074596056,
"username": "audreyelli"
},
"source_url": "https://www.pinterest.com/pin/7177680652369084/",
"source_author": {
"username": "telliott1817",
"full_name": "Tom Elliott",
"profile_url": "https://www.pinterest.com/telliott1817",
"avatar_url": null
},
"media": [
{
"id": "8d612bfd-2b7b-458c-ac99-af7c406eef97",
"type": "StaticImage",
"url": "https://cdn.cosmos.so/8d612bfd-2b7b-458c-ac99-af7c406eef97",
"width": 1080,
"height": 1671,
"ai_generated": false,
"duration": null,
"thumbnail_url": null,
"video_url": null,
"playback_url": null
}
],
"price": null,
"brand": null,
"save_count": 73
}GET /v1/cosmos/user
Profile
Get a public Cosmos profile with bio, links, and follower counts. Public data only. One credit per successful request, including successful empty results.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
handle required | query | string | Cosmos username without a profile URL. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/cosmos/user?handle=design" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/cosmos/user?handle=design", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/cosmos/user?handle=design",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": 234172146,
"username": "design",
"full_name": "Design",
"url": "https://www.cosmos.so/design",
"bio": "where systems learn to speak to people",
"avatar_url": "https://cdn.cosmos.so/e39a4934-53ae-4536-95a3-18ccd4d052a0",
"website_url": null,
"is_premium": true,
"is_verified": false,
"follower_count": 744,
"following_count": 1,
"public_post_count": 25,
"instagram_url": null,
"twitter_url": null,
"tiktok_url": null
}GET /v1/cosmos/search
Search
Search public Cosmos posts by keyword. Cosmos may return related posts even when there is no exact keyword match. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. result_count is Cosmos’s search retrieval-window count, not the total number of matching posts. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
query required | query | string | Search text. |
next_cursor | query | string | Pass the previous response cursor unchanged. Stop when it is null; sending the literal string "null" returns an empty terminal page without fetching or charging. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/cosmos/search?query=architecture" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/cosmos/search?query=architecture", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/cosmos/search?query=architecture",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"items": [
{
"id": 547956585,
"url": "https://www.cosmos.so/e/547956585",
"created_at": "2025-06-19T12:57:19.994842Z",
"caption": "An architectural poster created using Midjourney v7.",
"text": null,
"title": null,
"description": null,
"owner": {
"id": 2059029120,
"username": "joris.kahl"
},
"source_url": "https://www.instagram.com/p/DK2wZxvMsbf/?igsh=MW9ubmc3NzRucHBkNg==",
"source_author": {
"username": "ai_architecture_awards",
"full_name": "AI Architecture",
"profile_url": "https://www.instagram.com/ai_architecture_awards",
"avatar_url": null
},
"media": [
{
"id": "589cdf02-9abf-4d94-88ef-809734ca5444",
"type": "StaticImage",
"url": "https://cdn.cosmos.so/e00a12d4-1e19-45de-9649-b42e9c9f724a",
"width": 928,
"height": 1232,
"ai_generated": false,
"duration": null,
"thumbnail_url": null,
"video_url": null,
"playback_url": null
}
],
"price": null,
"brand": null
}
],
"next_cursor": "cursor://recsys/search?user_id=0&profile=search__match_jina_dual70_recql&query=architecture&last=39&count=500",
"has_more": true,
"result_count": 500
}GET /v1/cosmos/user_clusters
User Collections
Get the public collections owned by a Cosmos user. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
handle required | query | string | Cosmos username without a profile URL. |
next_cursor | query | string | Pass the previous response cursor unchanged. Stop when it is null; sending the literal string "null" returns an empty terminal page without fetching or charging. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/cosmos/user_clusters?handle=design" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/cosmos/user_clusters?handle=design", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/cosmos/user_clusters?handle=design",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"items": [
{
"id": 957563841,
"name": "the best weather apps",
"slug": "the-best-weather-apps",
"description": "some of the smartest data design on your phone",
"url": "https://www.cosmos.so/design/the-best-weather-apps",
"cover_image_url": "https://cdn.cosmos.so/fcebb83d-f089-4e17-9550-274d11c5ebd9",
"post_count": 42,
"follower_count": null,
"owner": {
"id": 234172146,
"username": "design",
"full_name": "Design",
"avatar_url": "https://cdn.cosmos.so/e39a4934-53ae-4536-95a3-18ccd4d052a0"
}
}
],
"total_count": 58,
"next_cursor": "eyJ2MSI6IjE5NzAtMDEtMDFUMDA6MDA6MDBaIiwidjIiOiIyMDI2LTA4LTI4VDE4OjM4OjMxLjc0NjM1OFoiLCJ2MyI6MTQyMTE1OTN9",
"has_more": true
}GET /v1/cosmos/user_posts
User Posts
Get the public posts saved to a Cosmos user profile. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
handle required | query | string | Cosmos username without a profile URL. |
next_cursor | query | string | Pass the previous response cursor unchanged. Stop when it is null; sending the literal string "null" returns an empty terminal page without fetching or charging. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/cosmos/user_posts?handle=design" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/cosmos/user_posts?handle=design", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/cosmos/user_posts?handle=design",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"items": [
{
"id": 1307496415,
"url": "https://www.cosmos.so/e/1307496415",
"created_at": "2026-04-01T15:24:45.897845Z",
"caption": null,
"text": null,
"title": null,
"description": null,
"owner": {
"id": 14413015,
"username": "esther.yang"
},
"source_url": null,
"source_author": null,
"media": [
{
"id": "34647529-5d71-4c17-83c1-876e5500317c",
"type": "StaticImage",
"url": "https://cdn.cosmos.so/34647529-5d71-4c17-83c1-876e5500317c",
"width": 1440,
"height": 1920,
"ai_generated": false,
"duration": null,
"thumbnail_url": null,
"video_url": null,
"playback_url": null
}
],
"price": null,
"brand": null
}
],
"total_count": 25,
"next_cursor": null,
"has_more": false
}