Search Posts
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
legacy - Risk:
read - Catalog version:
scrape-creators-2026.07.12.1 - Descriptor hash:
3f7e80e5fb76caed714751a112c271e5fcb7b687d787a2a7c1f1c7ecc75c2a79
Use this when you need ScrapeCreators LinkedIn data from GET /v1/linkedin/search/posts for Search Posts. Finds public LinkedIn posts, feed updates, and Pulse articles by keyword using Google Search, then returns post details such as description, author, media, images, like count, comment count, and published date when LinkedIn exposes them publicly. Results depend on what Google has indexed, so this is best-effort and not a complete LinkedIn-native search. Use date_posted for recent posts and pass the returned cursor to fetch the next page. Returns the ScrapeCreators response in the standard MCP envelope with ok/data/error/meta. This is read-only. Requires the portal grant header and a ScrapeCreators BYOK API key.
Request Body
{
"jsonrpc": "2.0",
"id": "scrape-creators-scrape-creators-linkedin-get-v1-linkedin-search-posts-example",
"method": "tools/call",
"params": {
"name": "scrape-creators.scrape_creators_linkedin_get_v1_linkedin_search_posts",
"arguments": {
"body": "",
"query": "",
"cursor": "",
"params": "",
"compact": "",
"max_items": "",
"date_posted": "last-hour",
"include_raw": false,
"path_params": "",
"search_query": ""
}
}
}
Arguments Schema
{
"type": "object",
"properties": {
"body": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "null"
}
],
"title": "Body",
"default": null,
"description": "JSON request body for provider endpoints that accept one."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Keyword or phrase to search for in public LinkedIn posts"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The cursor returned from the previous response"
},
"params": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Params",
"default": null,
"description": "Optional advanced query parameter object. Prefer the documented top-level parameters when available."
},
"compact": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Compact",
"default": null,
"description": "When true, trims large list payloads before returning them to the agent."
},
"max_items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Items",
"default": null,
"description": "Maximum number of list items to return when compacting provider responses."
},
"date_posted": {
"enum": [
"last-hour",
"last-day",
"last-week",
"last-month",
"last-year"
],
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Date Posted",
"default": null,
"description": "Date posted filter based on Google-indexed results"
},
"include_raw": {
"type": "boolean",
"title": "Include Raw",
"default": false,
"description": "When true, returns both compact normalized data and the raw provider payload; this can be large."
},
"path_params": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Path Params",
"default": null,
"description": "Path template values for endpoints that expose path placeholders."
},
"search_query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search Query",
"default": null,
"description": "Alias for query: Keyword or phrase to search for in public LinkedIn posts"
},
"cache_ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Cache Ttl Seconds",
"default": null,
"description": "Optional cache lifetime for idempotent GET requests."
},
"confirm_high_cost": {
"type": "boolean",
"title": "Confirm High Cost",
"default": false,
"description": "Set true only when intentionally running a high-credit or write-intent request."
}
},
"additionalProperties": false
}
Output Schema
{
"type": "object",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the local or provider operation completed successfully."
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Bounded operation result when ok is true."
},
"meta": {
"type": "object",
"description": "Safe request, pagination, cache, and timing metadata.",
"additionalProperties": true
},
"error": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Safe structured error when ok is false."
}
},
"description": "Scrape Creators MCP normalized response envelope.",
"additionalProperties": false
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "scrape-creators-scrape-creators-linkedin-get-v1-linkedin-search-posts-example",
"method": "tools/call",
"params": {
"name": "scrape-creators.scrape_creators_linkedin_get_v1_linkedin_search_posts",
"arguments": {
"body": "",
"query": "",
"cursor": "",
"params": "",
"compact": "",
"max_items": "",
"date_posted": "last-hour",
"include_raw": false,
"path_params": "",
"search_query": ""
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "scrape-creators-scrape-creators-linkedin-get-v1-linkedin-search-posts-example",
"method": "tools/call",
"params": {
"name": "scrape-creators.scrape_creators_linkedin_get_v1_linkedin_search_posts",
"arguments": {
"body": "",
"query": "",
"cursor": "",
"params": "",
"compact": "",
"max_items": "",
"date_posted": "last-hour",
"include_raw": false,
"path_params": "",
"search_query": ""
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "scrape-creators-scrape-creators-linkedin-get-v1-linkedin-search-posts-example",
"method": "tools/call",
"params": {
"name": "scrape-creators.scrape_creators_linkedin_get_v1_linkedin_search_posts",
"arguments": {
"body": "",
"query": "",
"cursor": "",
"params": "",
"compact": "",
"max_items": "",
"date_posted": "last-hour",
"include_raw": false,
"path_params": "",
"search_query": ""
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool scrape-creators.scrape_creators_linkedin_get_v1_linkedin_search_posts executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}