Polymarket Research API
특정 주제의 Polymarket 예측 시장을 관련도 순으로 정렬해 이벤트 제목, 시장 질문, 결과별 가격, 거래량, 종료일과 함께 반환합니다.
GET /v1/polymarket/researchPolymarket Research API는 언제 쓰나요
검색을 여러 번 대신 돌리고 주제에서 벗어난 결과는 걸러 줍니다. 한 주제의 시장만 모아 볼 때 사용하세요.
API 레퍼런스 영문 원문
Server-side fan-out over the Gamma API: expands the topic into up to 6 search queries (core subject + individual informative words), issues all calls in parallel, dedupes events by id, filters out unrelated matches via informative-word overlap with the topic, and ranks the remainder by topic↔title similarity. Costs 5 credits because each call hits upstream multiple times. Use this when you want a curated, on-topic feed; use /v1/polymarket/search for raw single-query lookups.
75개 플랫폼을 병렬로 검색합니다
Research API로 무엇을 할 수 있을까요
Research 엔드포인트가 통합 스키마와 계산 필드를 담은 Polymarket 데이터를 한 번의 요청으로 보내드려요. 스크래핑 인프라를 직접 만들거나 유지할 필요가 없어요.
요청 예시
# GET /v1/polymarket/research: 5 credits per call. Cache hits are free and failed calls are refunded.
# Check the price first for 0 credits: add dry_run=1 to the query. Nothing is fetched or charged.
# --max-time 60: the API's own time limit for this endpoint.
# --retry 3: retries timeouts, 429 and 5xx, honoring Retry-After.
# -o response.json keeps only the final attempt's body.
# One Idempotency-Key per request, reused on every retry, so a retried call is never charged twice.
IDEMPOTENCY_KEY=$(od -An -N16 -tx1 /dev/urandom | tr -d ' \n')
curl -sS --max-time 60 --retry 3 -o response.json \
-H "x-api-key: YOUR_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
"https://www.socialcrawl.dev/v1/polymarket/research?query=trump+2028+election" && cat response.json# GET /v1/polymarket/research: 5 credits per call. Cache hits are free and failed calls are refunded.
# Check the price first for 0 credits: add dry_run=1 to the query. Nothing is fetched or charged.
import os
import random
import time
import uuid
import requests
API_KEY = os.environ.get("SOCIALCRAWL_API_KEY", "YOUR_API_KEY")
TIMEOUT_S = 60 # the API's own time limit for this endpoint.
MAX_RETRIES = 3
URL = "https://www.socialcrawl.dev/v1/polymarket/research"
def backoff(attempt):
# Exponential backoff with jitter: about 1 s, 2 s, then 4 s.
return 2 ** attempt * (0.5 + random.random() / 2)
def socialcrawl(params):
# One Idempotency-Key per request, reused on every retry, so a retried call is never charged twice.
idempotency_key = str(uuid.uuid4())
for attempt in range(MAX_RETRIES + 1):
try:
res = requests.get(
URL,
params=params,
headers={"x-api-key": API_KEY, "Idempotency-Key": idempotency_key},
timeout=TIMEOUT_S,
)
body = res.json()
except (requests.RequestException, ValueError):
# A timeout, a dropped connection or a non-JSON gateway page: retry with the same key.
if attempt == MAX_RETRIES:
raise
time.sleep(backoff(attempt))
continue
if body["success"]:
return body
error = body["error"]
# Branch on error["type"], never on the message text.
if error["type"] == "RESOURCE_NOT_FOUND":
return None # refunded: nothing to read
retry_after = res.headers.get("Retry-After")
# SERVICE_UNAVAILABLE without Retry-After is a withdrawn endpoint: permanent.
permanent = error["type"] == "SERVICE_UNAVAILABLE" and retry_after is None
if not error.get("retryable") or permanent or attempt == MAX_RETRIES:
raise RuntimeError(f"{error['type']}: {error['message']} (request_id {body['request_id']})")
# Retry-After (seconds) wins; otherwise back off.
time.sleep(float(retry_after) if retry_after else backoff(attempt))
params = {
"query": "trump 2028 election",
}
body = socialcrawl(params)
if body is not None:
print(body["data"])// GET /v1/polymarket/research: 5 credits per call. Cache hits are free and failed calls are refunded.
// Check the price first for 0 credits: add dry_run=1 to the query. Nothing is fetched or charged.
const API_KEY = process.env.SOCIALCRAWL_API_KEY ?? "YOUR_API_KEY";
const TIMEOUT_MS = 60_000; // the API's own time limit for this endpoint.
const MAX_RETRIES = 3;
type Page = { next_cursor: string | null; has_more: boolean };
type SocialCrawlResponse =
| { success: true; data: any; pagination?: Page; credits_used: number; request_id: string }
| { success: false; error: { type: string; message: string; retryable: boolean }; request_id: string };
const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
// Exponential backoff with jitter: about 1 s, 2 s, then 4 s.
const backoffMs = (attempt: number) => 2 ** attempt * 1000 * (0.5 + Math.random() / 2);
async function socialcrawl(url: URL) {
// One Idempotency-Key per request, reused on every retry, so a retried call is never charged twice.
const idempotencyKey = crypto.randomUUID();
for (let attempt = 0; ; attempt++) {
let res: Response;
let body: SocialCrawlResponse;
try {
res = await fetch(url, {
headers: {
"x-api-key": API_KEY,
"Idempotency-Key": idempotencyKey,
},
signal: AbortSignal.timeout(TIMEOUT_MS),
});
body = (await res.json()) as SocialCrawlResponse;
} catch (error) {
// A timeout, a dropped connection or a non-JSON gateway page: retry with the same key.
if (attempt >= MAX_RETRIES) throw error;
await sleep(backoffMs(attempt));
continue;
}
if (body.success) return body;
// Branch on error.type, never on the message text.
if (body.error.type === "RESOURCE_NOT_FOUND") return null; // refunded: nothing to read
const retryAfter = res.headers.get("Retry-After");
// SERVICE_UNAVAILABLE without Retry-After is a withdrawn endpoint: permanent.
const permanent = body.error.type === "SERVICE_UNAVAILABLE" && retryAfter === null;
if (!body.error.retryable || permanent || attempt >= MAX_RETRIES) {
throw new Error(`${body.error.type}: ${body.error.message} (request_id ${body.request_id})`);
}
// Retry-After (seconds) wins; otherwise back off.
await sleep(retryAfter ? Number(retryAfter) * 1000 : backoffMs(attempt));
}
}
const url = new URL("https://www.socialcrawl.dev/v1/polymarket/research");
url.searchParams.set("query", "trump 2028 election");
const body = await socialcrawl(url);
if (body) console.log(body.data);파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
| query | 예 | The research topic: free-text natural language (e.g. 'last 30 days bitcoin halving', 'kanye west tour'). Framing prefixes like 'last N days' and 'what are people saying about' are stripped automatically before expansion. |
| limit | 아니오 | Max results per result type on each fan-out call (events / markets / profiles). Bounds the response size. Defaults to 10. |
Polymarket Research API는 무엇을 돌려주나요
모든 응답은 하나의 통합 스키마를 따라요. 크레딧을 쓰기 전에 어떤 필드가 돌아오는지, 실제 응답 본문 그대로 확인해 보세요.
응답 예시 보기
{
"success": true,
"platform": "polymarket",
"endpoint": "/v1/polymarket/research",
"data": {
"items": [
{
"id": "773641",
"ticker": "who-will-trump-endorse-first-in-the-2028-us-presidential-election-20260727202224755",
"slug": "who-will-trump-endorse-first-in-the-2028-us-presidential-election-20260727202224755",
"title": "Who will Trump endorse first in the 2028 US presidential election?",
"description": "This market will resolve according to the first individual that Donald Trump endorses for President of the United States in the 2028 United States Presidential Election. \n\nAn endorsement is defined as a statement by Donald Trump that i) is made publicly (e.g., through a press release, an on-the-record interview, a speech, a campaign event, a post from a verified account on social media); ii) explicitly and unambiguously expresses unique support for an individual as a candidate for President of the United States in the 2028 United States Presidential election; and iii) is characterized by a consensus of credible reporting as an official endorsement by Donald Trump of the individual for President in the 2028 United States presidential election.\n\nAn endorsement of an individual for the Republican Party’s nomination to the 2028 United States Presidential election will qualify. Endorsements of a candidate for the Democratic Party's nomination without also endorsing that candidate for President in the general election will not qualify.\n\nThe following will not be considered endorsements: positive or favorable comments about a candidate without a clear public statement of direct support; conditional statements giving support only if certain conditions are met; statements equally expressing support for multiple candidates (e.g., “I support Marco and J.D.”); statements expressing opposition to a candidate without endorsing any candidate; private or non-public statements; and statements that are clearly sarcastic, made in jest, or immediately clarified as not reflecting genuine support.\n\nAn endorsement of a ticket comprising a presidential candidate and a vice-presidential candidate constitutes a qualifying endorsement only of the individual endorsed for President. If the endorsement is of a ticket with undefined presidential and vice-presidential roles, or the roles on an endorsed ticket cannot be determined by the statement itself or a consensus of credible reporting, no qualifying endorsement will be deemed to have occurred.\n\nIf Donald Trump issues multiple concurrent statements meeting this standard, directed at different individuals, this will not constitute a qualifying endorsement and this market will remain open and resolve based on the first standalone qualifying endorsement issued. Endorsements will be considered to be issued concurrently only if they are issued in the same written statement (e.g., a public social media post), or in a singular public speaking event (e.g., a press conference, a speech).\n\nEndorsements via social media count only from verified accounts controlled by Donald Trump. Likes, reposts, or shares alone do not constitute a qualifying endorsement.\n\nIf Donald Trump officially files his candidacy for the 2028 United States Presidential election before issuing a qualifying endorsement, this market will resolve to “Donald Trump.” Statements alone will not be sufficient to resolve this market to “Donald Trump.”\n\nOnce a qualifying endorsement has occurred, subsequent retractions, rescissions, or endorsements of other individuals will not affect the determination of the first individual endorsed. If Donald Trump does not issue any qualifying endorsements, or file his own candidacy, by November 6, 2028, 11:59 PM ET, this market will resolve to “Other”.\n\nThe resolution sources for this market will be official statements from Donald Trump and a consensus of credible reporting.",
"resolutionSource": "",
"startDate": "2026-07-30T18:59:06.390891Z",
"creationDate": "2026-07-30T19:06:17.869026Z",
"endDate": "2028-11-07T04:59:00Z",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/who-will-donald-trump-endorse-in-the-2028-united-states-presidential-election-20-HJxldsGlrWYS.jpg",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/who-will-donald-trump-endorse-in-the-2028-united-states-presidential-election-20-HJxldsGlrWYS.jpg",
"active": true,
"closed": false,
"archived": false,
"new": false,
"featured": false,
"restricted": true,
"liquidity": 14827.14514,
"volume": 20330.640767,
"openInterest": 1995.6835909999995,
"sortBy": "price",
"createdAt": "2026-07-30T18:55:03.557455Z",
"updatedAt": "2026-10-02T12:53:34.177351Z",
"competitive": 0.9999750006249843,
"enableOrderBook": true,
"liquidityClob": 14827.14514,
"negRisk": true,
"negRiskMarketID": "0x07ea23b85d3910c021e30649613fa2c3722fdfd640acbfcc411d7ecbda1b6000",
"commentCount": 1,
"markets": [
{
"id": "3229166",
"question": "Sample comment text (redacted).",
"conditionId": "0x1f47ec472a4c625225b3331d9b568df885fc4e2de882716bc895231831046b37",
"slug": "will-donald-trump-endorse-donald-trump-in-the-2028-us-presidential-election-20260727201017696",
"resolutionSource": "",
"endDate": "2028-11-07T04:59:00Z",
"liquidity": "803.21249",
"startDate": "2026-07-30T18:59:06.390891Z",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-donald-trump-win-the-2028-us-presidential-election-4gVusUQRi_GG.png",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-donald-trump-win-the-2028-us-presidential-election-4gVusUQRi_GG.png",
"description": "This market will resolve according to the first individual that Donald Trump endorses for President of the United States in the 2028 United States Presidential Election. \n\nAn endorsement is defined as a statement by Donald Trump that i) is made publicly (e.g., through a press release, an on-the-record interview, a speech, a campaign event, a post from a verified account on social media); ii) explicitly and unambiguously expresses unique support for an individual as a candidate for President of the United States in the 2028 United States Presidential election; and iii) is characterized by a consensus of credible reporting as an official endorsement by Donald Trump of the individual for President in the 2028 United States presidential election.\n\nAn endorsement of an individual for the Republican Party’s nomination to the 2028 United States Presidential election will qualify. Endorsements of a candidate for the Democratic Party's nomination without also endorsing that candidate for President in the general election will not qualify.\n\nThe following will not be considered endorsements: positive or favorable comments about a candidate without a clear public statement of direct support; conditional statements giving support only if certain conditions are met; statements equally expressing support for multiple candidates (e.g., “I support Marco and J.D.”); statements expressing opposition to a candidate without endorsing any candidate; private or non-public statements; and statements that are clearly sarcastic, made in jest, or immediately clarified as not reflecting genuine support.\n\nAn endorsement of a ticket comprising a presidential candidate and a vice-presidential candidate constitutes a qualifying endorsement only of the individual endorsed for President. If the endorsement is of a ticket with undefined presidential and vice-presidential roles, or the roles on an endorsed ticket cannot be determined by the statement itself or a consensus of credible reporting, no qualifying endorsement will be deemed to have occurred.\n\nIf Donald Trump issues multiple concurrent statements meeting this standard, directed at different individuals, this will not constitute a qualifying endorsement and this market will remain open and resolve based on the first standalone qualifying endorsement issued. Endorsements will be considered to be issued concurrently only if they are issued in the same written statement (e.g., a public social media post), or in a singular public speaking event (e.g., a press conference, a speech).\n\nEndorsements via social media count only from verified accounts controlled by Donald Trump. Likes, reposts, or shares alone do not constitute a qualifying endorsement.\n\nIf Donald Trump officially files his candidacy for the 2028 United States Presidential election before issuing a qualifying endorsement, this market will resolve to “Donald Trump.” Statements alone will not be sufficient to resolve this market to “Donald Trump.”\n\nOnce a qualifying endorsement has occurred, subsequent retractions, rescissions, or endorsements of other individuals will not affect the determination of the first individual endorsed. If Donald Trump does not issue any qualifying endorsements, or file his own candidacy, by November 6, 2028, 11:59 PM ET, this market will resolve to “Other”.\n\nThe resolution sources for this market will be official statements from Donald Trump and a consensus of credible reporting.",
"outcomes": "[\"Yes\", \"No\"]",
"outcomePrices": "[\"0.0215\", \"0.9785\"]",
"volume": "1519.6938059999998",
"active": true,
"closed": false,
"marketMakerAddress": "",
"createdAt": "2026-07-30T18:55:04.109442Z",
"updatedAt": "2026-10-02T12:53:26.408222Z",
"new": false,
"featured": false,
"submitted_by": "0xF43d55F3A8B7484Ed4B6931f93CB6F9eF5Dd369D",
"archived": false,
"resolvedBy": "0x69c47De9D4D3Dad79590d61b9e05918E03775f24",
"restricted": true,
"groupItemTitle": "Donald Trump",
"groupItemThreshold": "0",
"questionID": "Sample comment text (redacted).",
"enableOrderBook": true,
"orderPriceMinTickSize": 0.001,
"orderMinSize": 5,
"volumeNum": 1519.6938059999998,
"liquidityNum": 803.21249,
"endDateIso": "2028-11-07",
"startDateIso": "2026-07-30",
"hasReviewedDates": true,
"clobTokenIds": "[\"74288739467333444940073223398441508133465696601345412147162566885004122913083\", \"13496782538562394046629289310351969655092189393193014968458210306239116323550\"]",
"comboStatus": "disabled",
"umaBond": "500",
"umaReward": "3.5",
"volumeClob": 1519.6938059999998,
"liquidityClob": 803.21249,
"makerBaseFee": 1000,
"takerBaseFee": 1000,
"customLiveness": 0,
"acceptingOrders": true,
"negRisk": true,
"negRiskMarketID": "0x07ea23b85d3910c021e30649613fa2c3722fdfd640acbfcc411d7ecbda1b6000",
"negRiskRequestID": "0x8fd759cc8b0bbd917db50eee4756d86595bfb5b1e11aa0a9a54b80c03e8410e8",
"ready": false,
"funded": false,
"acceptingOrdersTimestamp": "2026-07-30T18:58:06Z",
"cyom": false,
"competitive": 0.8136946435905578,
"pagerDutyNotificationEnabled": false,
"approved": true,
"rewardsMinSize": 20,
"rewardsMaxSpread": 4.5,
"spread": 0.017,
"oneDayPriceChange": -0.0055,
"oneHourPriceChange": -0.0005,
"oneWeekPriceChange": -0.017,
"oneMonthPriceChange": -0.0185,
"lastTradePrice": 0.014,
"bestBid": 0.013,
"bestAsk": 0.03,
"automaticallyActive": true,
"clearBookOnStart": true,
"showGmpSeries": false,
"showGmpOutcome": false,
"manualActivation": false,
"negRiskOther": false,
"umaResolutionStatuses": "[]",
"pendingDeployment": false,
"deploying": false,
"deployingTimestamp": "2026-07-30T18:57:05.451119Z",
"rfqEnabled": false,
"holdingRewardsEnabled": false,
"feesEnabled": true,
"feeType": "politics_fees",
"feeSchedule": {
"exponent": 1,
"rate": 0.04,
"takerOnly": true,
"rebateRate": 0.25
},
"version": "v1",
"outcomesList": [
"Yes",
"No"
],
"outcomePricesNum": [
0.0215,
0.9785
],
"clobTokenIdsList": [
"74288739467333444940073223398441508133465696601345412147162566885004122913083",
"13496782538562394046629289310351969655092189393193014968458210306239116323550"
]
},
{
"id": "3229167",
"question": "Sample comment text (redacted).",
"conditionId": "0xf9e55ef9a1dad890d080c3bda6e5ff4a5ba5ff5dd823d18e8b53b13ea783403c",
"slug": "will-donald-trump-endorse-jptdpt-vance-in-the-2028-us-presidential-election-20260727201017697",
"resolutionSource": "",
"endDate": "2028-11-07T04:59:00Z",
"liquidity": "2952.7533",
"startDate": "2026-07-30T18:59:09.584418Z",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-jd-vance-win-the-2028-us-presidential-election-P-zEgXjCWbdY.png",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-jd-vance-win-the-2028-us-presidential-election-P-zEgXjCWbdY.png",
"description": "This market will resolve according to the first individual that Donald Trump endorses for President of the United States in the 2028 United States Presidential Election. \n\nAn endorsement is defined as a statement by Donald Trump that i) is made publicly (e.g., through a press release, an on-the-record interview, a speech, a campaign event, a post from a verified account on social media); ii) explicitly and unambiguously expresses unique support for an individual as a candidate for President of the United States in the 2028 United States Presidential election; and iii) is characterized by a consensus of credible reporting as an official endorsement by Donald Trump of the individual for President in the 2028 United States presidential election.\n\nAn endorsement of an individual for the Republican Party’s nomination to the 2028 United States Presidential election will qualify. Endorsements of a candidate for the Democratic Party's nomination without also endorsing that candidate for President in the general election will not qualify.\n\nThe following will not be considered endorsements: positive or favorable comments about a candidate without a clear public statement of direct support; conditional statements giving support only if certain conditions are met; statements equally expressing support for multiple candidates (e.g., “I support Marco and J.D.”); statements expressing opposition to a candidate without endorsing any candidate; private or non-public statements; and statements that are clearly sarcastic, made in jest, or immediately clarified as not reflecting genuine support.\n\nAn endorsement of a ticket comprising a presidential candidate and a vice-presidential candidate constitutes a qualifying endorsement only of the individual endorsed for President. If the endorsement is of a ticket with undefined presidential and vice-presidential roles, or the roles on an endorsed ticket cannot be determined by the statement itself or a consensus of credible reporting, no qualifying endorsement will be deemed to have occurred.\n\nIf Donald Trump issues multiple concurrent statements meeting this standard, directed at different individuals, this will not constitute a qualifying endorsement and this market will remain open and resolve based on the first standalone qualifying endorsement issued. Endorsements will be considered to be issued concurrently only if they are issued in the same written statement (e.g., a public social media post), or in a singular public speaking event (e.g., a press conference, a speech).\n\nEndorsements via social media count only from verified accounts controlled by Donald Trump. Likes, reposts, or shares alone do not constitute a qualifying endorsement.\n\nIf Donald Trump officially files his candidacy for the 2028 United States Presidential election before issuing a qualifying endorsement, this market will resolve to “Donald Trump.” Statements alone will not be sufficient to resolve this market to “Donald Trump.”\n\nOnce a qualifying endorsement has occurred, subsequent retractions, rescissions, or endorsements of other individuals will not affect the determination of the first individual endorsed. If Donald Trump does not issue any qualifying endorsements, or file his own candidacy, by November 6, 2028, 11:59 PM ET, this market will resolve to “Other”.\n\nThe resolution sources for this market will be official statements from Donald Trump and a consensus of credible reporting.",
"outcomes": "[\"Yes\", \"No\"]",
"outcomePrices": "[\"0.495\", \"0.505\"]",
"volume": "8462.803645",
"active": true,
"closed": false,
"marketMakerAddress": "",
"createdAt": "2026-07-30T18:55:04.544006Z",
"updatedAt": "2026-10-02T12:53:26.408222Z",
"new": false,
"featured": false,
"submitted_by": "0xF43d55F3A8B7484Ed4B6931f93CB6F9eF5Dd369D",
"archived": false,
"resolvedBy": "0x69c47De9D4D3Dad79590d61b9e05918E03775f24",
"restricted": true,
"groupItemTitle": "J.D. Vance",
"groupItemThreshold": "1",
"questionID": "Sample comment text (redacted).",
"enableOrderBook": true,
"orderPriceMinTickSize": 0.01,
"orderMinSize": 5,
"volumeNum": 8462.803645,
"liquidityNum": 2952.7533,
"endDateIso": "2028-11-07",
"startDateIso": "2026-07-30",
"hasReviewedDates": true,
"clobTokenIds": "[\"20213624738629602734871575785250006631406621390044044063230082562317459092954\", \"409692822828057446010651693526860580657532057409114328624834759564694498621\"]",
"comboStatus": "disabled",
"umaBond": "500",
"umaReward": "3.5",
"volumeClob": 8462.803645,
"liquidityClob": 2952.7533,
"makerBaseFee": 1000,
"takerBaseFee": 1000,
"customLiveness": 0,
"acceptingOrders": true,
"negRisk": true,
"negRiskMarketID": "0x07ea23b85d3910c021e30649613fa2c3722fdfd640acbfcc411d7ecbda1b6000",
"negRiskRequestID": "0x507f8f282843a930e50fa87b041b746159ad447893beadfabaaa80c9f5fb4503",
"ready": false,
"funded": false,
"acceptingOrdersTimestamp": "2026-07-30T18:58:09Z",
"cyom": false,
"competitive": 0.9999750006249843,
"pagerDutyNotificationEnabled": false,
"approved": true,
"clobRewards": [
{
"id": "1090525",
"conditionId": "0xf9e55ef9a1dad890d080c3bda6e5ff4a5ba5ff5dd823d18e8b53b13ea783403c",
"assetAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
"rewardsAmount": 0,
"rewardsDailyRate": 4,
"startDate": "2026-09-30",
"endDate": "2500-12-31"
}
],
"rewardsMinSize": 20,
"rewardsMaxSpread": 5.5,
"spread": 0.01,
"oneDayPriceChange": 0.005,
"oneMonthPriceChange": 0.005,
"lastTradePrice": 0.48,
"bestBid": 0.49,
"bestAsk": 0.5,
"automaticallyActive": true,
"clearBookOnStart": true,
"showGmpSeries": false,
"showGmpOutcome": false,
"manualActivation": false,
"negRiskOther": false,
"umaResolutionStatuses": "[]",
"pendingDeployment": false,
"deploying": false,
"deployingTimestamp": "2026-07-30T18:57:05.464472Z",
"rfqEnabled": false,
"holdingRewardsEnabled": false,
"feesEnabled": true,
"feeType": "politics_fees",
"feeSchedule": {
"exponent": 1,
"rate": 0.04,
"takerOnly": true,
"rebateRate": 0.25
},
"version": "v1",
"outcomesList": [
"Yes",
"No"
],
"outcomePricesNum": [
0.495,
0.505
],
"clobTokenIdsList": [
"20213624738629602734871575785250006631406621390044044063230082562317459092954",
"409692822828057446010651693526860580657532057409114328624834759564694498621"
]
}
],
"tags": [
{
"id": "126",
"label": "Trump",
"slug": "trump",
"forceShow": false,
"publishedAt": "2023-11-02 21:23:16.384+00",
"updatedBy": 15,
"createdAt": "2023-11-02T21:23:16.39Z",
"updatedAt": "2026-04-17T20:39:14.206724Z"
},
{
"id": "2",
"label": "Politics",
"slug": "politics",
"forceShow": false,
"publishedAt": "2023-10-25 18:55:50.674+00",
"updatedBy": 13,
"createdAt": "2023-10-25T18:55:50.681Z",
"updatedAt": "2026-04-17T20:39:54.201881Z",
"forceHide": true
}
],
"cyom": false,
"showAllOutcomes": true,
"showMarketImages": true,
"enableNegRisk": true,
"automaticallyActive": true,
"gmpChartMode": "default",
"negRiskAugmented": true,
"estimateValue": false,
"cumulativeMarkets": false,
"pendingDeployment": false,
"deploying": false,
"deployingTimestamp": "2026-07-30T18:55:59.689488Z",
"eventMetadata": {
"context_requires_regen": false
},
"version": "v1"
},
{
"id": "772736",
"ticker": "will-trumps-first-pick-win-the-2028-us-presidential-election-20260727202646079",
"slug": "will-trumps-first-pick-win-the-2028-us-presidential-election-20260727202646079",
"title": "Will Trump's first pick win the 2028 US presidential election?",
"description": "This market will resolve to “Yes” if the first individual that Donald Trump endorses for President of the United States in the 2028 United States Presidential Election wins the 2028 United States Presidential Election. Otherwise, this market will resolve to “No”. \n\nThe following rules govern the determination of the first individual that Donald Trump endorses for President of the United States in the 2028 United States Presidential Election: \n\nAn endorsement is defined as a statement by Donald Trump that i) is made publicly (e.g., through a press release, an on-the-record interview, a speech, a campaign event, a post from a verified account on social media); ii) explicitly and unambiguously expresses unique support for an individual as a candidate for President of the United States in the 2028 United States Presidential Election; and iii) is characterized by a consensus of credible reporting as an official endorsement by Donald Trump of the individual for President in the 2028 United States Presidential Election.\n\nAn endorsement of an individual for the Republican Party’s nomination in the 2028 United States Presidential Election will qualify as an endorsement for the 2028 United States Presidential Election. Endorsements of a candidate for the Democratic Party's nomination without also endorsing that candidate for President in the general election will not qualify.\n\nThe following will not be considered endorsements: positive or favorable comments about a candidate without a clear public statement of direct support; conditional statements giving support only if certain conditions are met; statements equally expressing support for multiple candidates (e.g., “I support Marco and J.D.”); statements expressing opposition to a candidate without endorsing any candidate; private or non-public statements; and statements that are clearly sarcastic, made in jest, or immediately clarified as not reflecting genuine support.\n\nAn endorsement of a ticket comprising a presidential candidate and a vice-presidential candidate constitutes a qualifying endorsement only of the individual endorsed for President. If the endorsement is of a ticket with undefined presidential and vice-presidential roles, or the roles on an endorsed ticket cannot be determined by the statement itself or a consensus of credible reporting, no qualifying endorsement will be deemed to have occurred.\n\nIf Donald Trump issues multiple concurrent statements meeting this standard, directed at different individuals, this will not constitute a qualifying endorsement and this market will remain open and resolve based on the first standalone qualifying endorsement issued. Endorsements will be considered to be issued concurrently only if they are issued in the same written statement (e.g., a public social media post), or in a singular public speaking event (e.g., a press conference, a speech).\n\nEndorsements via social media count only from verified accounts controlled by Donald Trump. Likes, reposts, or shares alone do not constitute a qualifying endorsement.\n\nIf Donald Trump officially files his candidacy for the 2028 United States Presidential Election before issuing a qualifying endorsement, he will be considered to have endorsed himself. Statements alone will not be sufficient to constitute Trump’s endorsement of himself.\n\nOnce a qualifying endorsement has occurred, subsequent retractions, rescissions, or endorsements of other individuals will not affect the determination of the first individual endorsed. If Donald Trump does not issue any qualifying endorsements, or file his own candidacy, by November 6, 2028, 11:59 PM ET, this market will resolve to “No”.\n\nThe resolution sources for Trump’s endorsement will be official statements from Donald Trump and a consensus of credible reporting. The resolution sources for the winner of the 2028 United States Presidential Election are the Associated Press, Fox News, and NBC. All three sources must call the race for the same candidate. If all three sources haven’t called the race for the same candidate by the inauguration date (January 20, 2029) this market will resolve based on who is inaugurated.",
"resolutionSource": "",
"startDate": "2026-07-30T15:16:57.124026Z",
"creationDate": "2026-07-30T15:19:13.194794Z",
"endDate": "2028-11-08T04:59:00Z",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-trumps-first-pick-win-the-2028-us-presidential-election-20260727202646079-hAMH-QsTbPlO.jpg",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-trumps-first-pick-win-the-2028-us-presidential-election-20260727202646079-hAMH-QsTbPlO.jpg",
"active": true,
"closed": false,
"archived": false,
"new": false,
"featured": false,
"restricted": true,
"liquidity": 31463.5141,
"volume": 1500.504576,
"openInterest": 319.613076,
"sortBy": "ascending",
"createdAt": "2026-07-30T15:14:52.071359Z",
"updatedAt": "2026-10-02T12:53:34.177351Z",
"competitive": 0.9651578033008396,
"enableOrderBook": true,
"liquidityClob": 31463.5141,
"negRisk": false,
"commentCount": 1,
"markets": [
{
"id": "3222753",
"question": "Sample comment text (redacted).",
"conditionId": "0xa986066a4a07d3f424a7e1418e3815e7742135c2c71cecacd493fabc0ec3b405",
"slug": "will-trumps-first-pick-win-the-2028-us-presidential-election-20260727202646079",
"resolutionSource": "",
"endDate": "2028-11-08T04:59:00Z",
"liquidity": "31469.3941",
"startDate": "2026-07-30T15:16:57.124026Z",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-trumps-first-pick-win-the-2028-us-presidential-election-20260727202646079-hAMH-QsTbPlO.jpg",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-trumps-first-pick-win-the-2028-us-presidential-election-20260727202646079-hAMH-QsTbPlO.jpg",
"description": "This market will resolve to “Yes” if the first individual that Donald Trump endorses for President of the United States in the 2028 United States Presidential Election wins the 2028 United States Presidential Election. Otherwise, this market will resolve to “No”. \n\nThe following rules govern the determination of the first individual that Donald Trump endorses for President of the United States in the 2028 United States Presidential Election: \n\nAn endorsement is defined as a statement by Donald Trump that i) is made publicly (e.g., through a press release, an on-the-record interview, a speech, a campaign event, a post from a verified account on social media); ii) explicitly and unambiguously expresses unique support for an individual as a candidate for President of the United States in the 2028 United States Presidential Election; and iii) is characterized by a consensus of credible reporting as an official endorsement by Donald Trump of the individual for President in the 2028 United States Presidential Election.\n\nAn endorsement of an individual for the Republican Party’s nomination in the 2028 United States Presidential Election will qualify as an endorsement for the 2028 United States Presidential Election. Endorsements of a candidate for the Democratic Party's nomination without also endorsing that candidate for President in the general election will not qualify.\n\nThe following will not be considered endorsements: positive or favorable comments about a candidate without a clear public statement of direct support; conditional statements giving support only if certain conditions are met; statements equally expressing support for multiple candidates (e.g., “I support Marco and J.D.”); statements expressing opposition to a candidate without endorsing any candidate; private or non-public statements; and statements that are clearly sarcastic, made in jest, or immediately clarified as not reflecting genuine support.\n\nAn endorsement of a ticket comprising a presidential candidate and a vice-presidential candidate constitutes a qualifying endorsement only of the individual endorsed for President. If the endorsement is of a ticket with undefined presidential and vice-presidential roles, or the roles on an endorsed ticket cannot be determined by the statement itself or a consensus of credible reporting, no qualifying endorsement will be deemed to have occurred.\n\nIf Donald Trump issues multiple concurrent statements meeting this standard, directed at different individuals, this will not constitute a qualifying endorsement and this market will remain open and resolve based on the first standalone qualifying endorsement issued. Endorsements will be considered to be issued concurrently only if they are issued in the same written statement (e.g., a public social media post), or in a singular public speaking event (e.g., a press conference, a speech).\n\nEndorsements via social media count only from verified accounts controlled by Donald Trump. Likes, reposts, or shares alone do not constitute a qualifying endorsement.\n\nIf Donald Trump officially files his candidacy for the 2028 United States Presidential Election before issuing a qualifying endorsement, he will be considered to have endorsed himself. Statements alone will not be sufficient to constitute Trump’s endorsement of himself.\n\nOnce a qualifying endorsement has occurred, subsequent retractions, rescissions, or endorsements of other individuals will not affect the determination of the first individual endorsed. If Donald Trump does not issue any qualifying endorsements, or file his own candidacy, by November 6, 2028, 11:59 PM ET, this market will resolve to “No”.\n\nThe resolution sources for Trump’s endorsement will be official statements from Donald Trump and a consensus of credible reporting. The resolution sources for the winner of the 2028 United States Presidential Election are the Associated Press, Fox News, and NBC. All three sources must call the race for the same candidate. If all three sources haven’t called the race for the same candidate by the inauguration date (January 20, 2029) this market will resolve based on who is inaugurated.",
"outcomes": "[\"Yes\", \"No\"]",
"outcomePrices": "[\"0.31\", \"0.69\"]",
"volume": "1500.504576",
"active": true,
"closed": false,
"marketMakerAddress": "",
"createdAt": "2026-07-30T15:14:52.478299Z",
"updatedAt": "2026-10-02T12:53:26.408222Z",
"new": false,
"featured": false,
"submitted_by": "0xF43d55F3A8B7484Ed4B6931f93CB6F9eF5Dd369D",
"archived": false,
"resolvedBy": "0x65070BE91477460D8A7AeEb94ef92fe056C2f2A7",
"restricted": true,
"questionID": "Sample comment text (redacted).",
"enableOrderBook": true,
"orderPriceMinTickSize": 0.01,
"orderMinSize": 5,
"volumeNum": 1500.504576,
"liquidityNum": 31469.3941,
"endDateIso": "2028-11-08",
"startDateIso": "2026-07-30",
"hasReviewedDates": true,
"clobTokenIds": "[\"51643523825980119811003865366710580854443210671696048280312399189599671584536\", \"37022373762366493953356825278300447180644542156943670018228576206272617068851\"]",
"comboStatus": "disabled",
"umaBond": "500",
"umaReward": "3.5",
"volumeClob": 1500.504576,
"liquidityClob": 31469.3941,
"makerBaseFee": 1000,
"takerBaseFee": 1000,
"customLiveness": 0,
"acceptingOrders": true,
"negRisk": false,
"negRiskRequestID": "",
"ready": false,
"funded": false,
"acceptingOrdersTimestamp": "2026-07-30T15:16:09Z",
"cyom": false,
"competitive": 0.9651578033008396,
"pagerDutyNotificationEnabled": false,
"approved": true,
"clobRewards": [
{
"id": "1087429",
"conditionId": "0xa986066a4a07d3f424a7e1418e3815e7742135c2c71cecacd493fabc0ec3b405",
"assetAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
"rewardsAmount": 0,
"rewardsDailyRate": 2,
"startDate": "2026-07-30",
"endDate": "2500-12-31"
}
],
"rewardsMinSize": 20,
"rewardsMaxSpread": 4.5,
"spread": 0.06,
"oneWeekPriceChange": 0.12,
"oneMonthPriceChange": 0.12,
"lastTradePrice": 0.3,
"bestBid": 0.28,
"bestAsk": 0.34,
"automaticallyActive": true,
"clearBookOnStart": true,
"showGmpSeries": false,
"showGmpOutcome": false,
"manualActivation": false,
"negRiskOther": false,
"umaResolutionStatuses": "[]",
"pendingDeployment": false,
"deploying": false,
"deployingTimestamp": "2026-07-30T15:15:08.180762Z",
"rfqEnabled": false,
"holdingRewardsEnabled": false,
"feesEnabled": true,
"feeType": "politics_fees",
"feeSchedule": {
"exponent": 1,
"rate": 0.04,
"takerOnly": true,
"rebateRate": 0.25
},
"version": "v1",
"outcomesList": [
"Yes",
"No"
],
"outcomePricesNum": [
0.31,
0.69
],
"clobTokenIdsList": [
"51643523825980119811003865366710580854443210671696048280312399189599671584536",
"37022373762366493953356825278300447180644542156943670018228576206272617068851"
]
}
],
"tags": [
{
"id": "126",
"label": "Trump",
"slug": "trump",
"forceShow": false,
"publishedAt": "2023-11-02 21:23:16.384+00",
"updatedBy": 15,
"createdAt": "2023-11-02T21:23:16.39Z",
"updatedAt": "2026-04-17T20:39:14.206724Z"
},
{
"id": "100285",
"label": "Vance",
"slug": "vance",
"createdAt": "2024-06-25T19:46:59.165544Z",
"updatedAt": "2026-04-17T21:09:02.084203Z"
}
],
"cyom": false,
"showAllOutcomes": true,
"showMarketImages": true,
"enableNegRisk": false,
"automaticallyActive": true,
"gmpChartMode": "default",
"negRiskAugmented": false,
"estimateValue": false,
"cumulativeMarkets": false,
"pendingDeployment": false,
"deploying": false,
"eventMetadata": {
"context_requires_regen": false
},
"version": "v1"
}
],
"dropped": 0
},
"credits_used": 5,
"request_id": "req_example000000",
"cached": false,
"pagination": {
"next_cursor": null,
"has_more": false,
"page_size": 23
},
"credits_remaining": 9999,
"source": "captured",
"captured_at": "2026-10-02T12:54:38.743Z",
"redacted": true
}통합 응답 구조를 보여 주는 실제 샘플이에요. 필드 값은 조회한 대상에 따라 달라져요.
Polymarket Research API는 어떻게 동작하나요
API 키와 함께 GET 요청을 보내면, 통합 스키마와 계산 필드를 담은 깔끔한 JSON이 돌아와요.
메서드
GET
응답 형식
JSON
소셜 미디어 데이터를 몇 초 만에 수집하는 방법
개발자를 위한 가장 빠른 소셜 미디어 스크래핑 API. 월간 활성 사용자 100억 명 이상을 포괄하는 75개 플랫폼에서 프로필, 게시물, 댓글, 분석 데이터를 수집하세요.
모든 플랫폼을 하나의 스키마로
동일한 응답 구조로 75개 플랫폼을 조회하세요. 연동은 한 번이면 충분합니다.
단순 수집을 넘어 계산된 필드 제공
엔드포인트가 해당 지표를 지원하고 계산에 필요한 원본 값이 있을 때, 정규화된 레코드에 engagement_rate, estimated_reach, content_category, language를 함께 담아 바로 활용할 수 있습니다.
코드 한 줄 쓰기 전에, 데이터부터
Visual Data Explorer에 URL만 붙여넣으면 결과 카드와 정형화된 테이블, CSV 내보내기를 바로 사용할 수 있습니다.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}자주 묻는 질문
API, 요금제, 기능에 대한 질문과 답변입니다.
문의하기Polymarket research 엔드포인트는 무엇을 하나요?
research는 search 엔드포인트와 어떻게 다른가요?
예측 시장 research 엔드포인트는 누구를 위한 건가요?
research에서는 어떤 데이터 필드가 오나요?
예측 시장 research API는 요금이 얼마인가요?
AI에게 SocialCrawl을 물어보세요
Polymarket Research 데이터, 가져올 준비 되셨어요?
API 키 받고 60초 안에 Polymarket 데이터를 받아 가세요.
