{"id":"2d7af4d9-4f77-4f61-b975-1aba89103b0b","entityType":"agent","slug":"clawhub-crawlora-org-pinterest-research","name":"pinterest-research","canonicalUrl":"https://www.xpersona.co/agent/clawhub-crawlora-org-pinterest-research","canonicalPath":"/agent/clawhub-crawlora-org-pinterest-research","generatedAt":"2026-10-12T18:20:09.286Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T00:24:31.844Z","emptyReason":null},"description":"Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 968 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:pinterest-research","sourceUrl":"https://clawhub.ai/crawlora-org/pinterest-research","homepage":"https://clawhub.ai/crawlora-org/skills/pinterest-research","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/crawlora-org/pinterest-research","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/crawlora-org/skills/pinterest-research","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"pinterest-research technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T00:24:31.844Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T00:24:31.844Z","emptyReason":null},"stars":null,"forks":null,"downloads":968,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.17","tractionLabel":"968 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T00:24:31.827Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T00:24:31.844Z","lastCrawledAt":"2026-10-12T00:24:31.827Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T00:24:31.827Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.17","createdAt":"2026-09-17T10:21:22.299Z","changelog":"Security hardening: generated helpers now enforce exact routes, methods, and credential-safe curl behavior.","fileCount":5,"zipByteSize":6644},{"version":"1.0.16","createdAt":"2026-09-14T03:59:58.213Z","changelog":"Security scope hardening and documented capability alignment from GitHub d47e9935b124fd09c81c6eeda19789073b4fda20","fileCount":5,"zipByteSize":6977},{"version":"1.0.15","createdAt":"2026-09-14T02:01:36.201Z","changelog":"Sync skill instructions, references, and helper from GitHub 902f58316c643ffbcabc57fc6f15f59d27ec063d","fileCount":5,"zipByteSize":7028},{"version":"1.0.14","createdAt":"2026-09-10T12:34:55.431Z","changelog":"Validate API keys before curl config","fileCount":5,"zipByteSize":6785},{"version":"1.0.13","createdAt":"2026-09-10T12:16:38.511Z","changelog":"Keep API keys out of process arguments","fileCount":5,"zipByteSize":6738},{"version":"1.0.12","createdAt":"2026-09-10T12:07:08.255Z","changelog":"Reject curl local-file query syntax","fileCount":5,"zipByteSize":6448},{"version":"1.0.11","createdAt":"2026-09-10T11:54:59.778Z","changelog":"Stream helper request bodies through curl stdin","fileCount":5,"zipByteSize":6359},{"version":"1.0.10","createdAt":"2026-09-10T11:42:49.906Z","changelog":"Scope helper routes and remove secret-shaped key examples","fileCount":5,"zipByteSize":6417}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:pinterest-research","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:pinterest-research` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/crawlora-org/pinterest-research before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-12T18:20:09.283Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-pinterest-research/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T00:24:31.844Z","emptyReason":null},"readme":"Skill: pinterest-research\n\nOwner: crawlora-org\n\nSummary: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n\nTags: latest:1.0.17\n\nVersion history:\n\nv1.0.17 | 2026-09-17T10:21:22.299Z | user\n\nSecurity hardening: generated helpers now enforce exact routes, methods, and credential-safe curl behavior.\n\nv1.0.16 | 2026-09-14T03:59:58.213Z | user\n\nSecurity scope hardening and documented capability alignment from GitHub d47e9935b124fd09c81c6eeda19789073b4fda20\n\nv1.0.15 | 2026-09-14T02:01:36.201Z | user\n\nSync skill instructions, references, and helper from GitHub 902f58316c643ffbcabc57fc6f15f59d27ec063d\n\nv1.0.14 | 2026-09-10T12:34:55.431Z | user\n\nValidate API keys before curl config\n\nv1.0.13 | 2026-09-10T12:16:38.511Z | user\n\nKeep API keys out of process arguments\n\nv1.0.12 | 2026-09-10T12:07:08.255Z | user\n\nReject curl local-file query syntax\n\nv1.0.11 | 2026-09-10T11:54:59.778Z | user\n\nStream helper request bodies through curl stdin\n\nv1.0.10 | 2026-09-10T11:42:49.906Z | user\n\nScope helper routes and remove secret-shaped key examples\n\nv1.0.9 | 2026-09-10T06:59:03.310Z | user\n\nMigrate publisher from tonywangcn to crawlora-org for brand consistency with the plugins\n\nv1.0.8 | 2026-09-08T04:34:48.450Z | user\n\nRefresh stale REST examples, endpoint references, and Bash helper from crawlora-skills 1.17.1.\n\nv1.0.7 | 2026-09-07T13:26:07.565Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.6 | 2026-09-07T08:12:38.231Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.5 | 2026-09-07T06:36:48.283Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.4 | 2026-08-24T07:13:19.953Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.3 | 2026-08-24T06:26:52.674Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.2 | 2026-08-24T05:08:59.971Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.1 | 2026-08-14T18:26:24.621Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.0 | 2026-08-10T19:03:08.226Z | user\n\nInitial publish\n\nArchive index:\n\nArchive v1.0.17: 5 files, 6644 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (3575b), skill-card.md (2236b), SKILL.md (4907b), _meta.json (138b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1789640482299\n}\n\nFile v1.0.17:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.17:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, researchers, marketers, and content teams use this skill to retrieve public Pinterest profile, board, pin, category, and keyword-search data through Crawlora instead of scraping Pinterest directly.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pinterest search terms, usernames, board slugs, pin IDs, and the Crawlora API key are sent to Crawlora.\n\nMitigation: Use the skill only when sharing those inputs with Crawlora is acceptable, keep the key in CRAWLORA_API_KEY, and avoid sensitive or private research terms.\n\nRisk: The skill retrieves public Pinterest data through a third-party service and may reflect that service's availability, limits, and returned data quality.\n\nMitigation: Review returned JSON before relying on it for decisions, and account for Crawlora API errors, pagination, and credit limits in workflows.\n\nRisk: The helper executes outbound GET requests with credentials.\n\nMitigation: Use the documented route-limited helper, avoid hardcoding or committing the API key, and review commands before execution.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora website](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, API Calls, JSON, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with shell commands that return JSON from the Crawlora API]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and supports documented GET-only Pinterest routes.]\n\n## Skill Version(s):\n\n1.0.17 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.16: 5 files, 6977 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (4478b), skill-card.md (2069b), SKILL.md (4907b), _meta.json (138b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1789358398213\n}\n\nFile v1.0.16:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.16:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and researchers use this skill to inspect public Pinterest profiles, boards, pins, category feeds, and keyword search results for content research, trend scouting, competitor board audits, and brand or product sweeps.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pinterest usernames, board slugs, pin IDs, and search queries are sent to Crawlora with the configured API key.\n\nMitigation: Use the skill only for public, non-sensitive Pinterest research terms and identifiers.\n\nRisk: The Crawlora API key could be exposed if it is hardcoded, committed, or logged.\n\nMitigation: Keep CRAWLORA_API_KEY in the environment and out of committed files, command histories, and logs.\n\nRisk: Private boards or sensitive research topics may be inappropriate for this workflow.\n\nMitigation: Restrict use to public Pinterest data and avoid private boards or sensitive research terms.\n\n## Reference(s):\n\n- [Pinterest endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n\n## Skill Output:\n\n**Output Type(s):** [API calls, Shell commands, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and is intended for public Pinterest data lookups only.]\n\n## Skill Version(s):\n\n1.0.16 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.15: 5 files, 7028 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (4492b), skill-card.md (2180b), SKILL.md (4907b), _meta.json (138b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.15:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.15\",\n  \"publishedAt\": 1789351296201\n}\n\nFile v1.0.15:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.15:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, researchers, and marketing teams use this skill to query public Pinterest profiles, boards, pins, Ideas categories, and keyword search results through Crawlora instead of scraping Pinterest directly.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The helper can send Pinterest lookup queries and the Crawlora API key to Crawlora.\n\nMitigation: Use only when sharing those queries and the API key with Crawlora is acceptable, and keep the key in CRAWLORA_API_KEY rather than in prompts, query strings, or committed files.\n\nRisk: Server security evidence reports a suspicious verdict because the helper exposes an undocumented POST capability that can send caller-supplied data to Crawlora.\n\nMitigation: Review before installing and restrict use to GET-only Pinterest endpoints unless POST behavior is explicitly needed and approved.\n\n## Reference(s):\n\n- [pinterest-research endpoint reference](reference/endpoints.md)\n- [Crawlora API](https://api.crawlora.net/api/v1)\n- [Crawlora](https://crawlora.net)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/pinterest-research)\n- [Crawlora publisher profile](https://clawhub.ai/user/crawlora-org)\n\n## Skill Output:\n\n**Output Type(s):** [API Calls, Shell commands, Configuration, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with shell commands that return JSON]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and returns public Pinterest data from Crawlora endpoints.]\n\n## Skill Version(s):\n\n1.0.15 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.14: 5 files, 6785 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (3935b), skill-card.md (2046b), SKILL.md (4907b), _meta.json (138b)\n\nFile v1.0.14:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.14:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.14\",\n  \"publishedAt\": 1789043695431\n}\n\nFile v1.0.14:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.14:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and research teams use this skill to look up public Pinterest profiles, boards, pins, category feeds, and keyword search results for content research, competitor audits, and trend scouting.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Authenticated Crawlora requests may go beyond the documented read-only Pinterest lookups if the helper is used with a valuable or paid API key before review.\n\nMitigation: Review before installation, prefer a limited or low-value API key, and tighten the helper to GET-only documented routes with segment-aware path validation.\n\nRisk: The Crawlora API key could be exposed if users hardcode it, pass it in URLs, or commit it with project files.\n\nMitigation: Set the key only through CRAWLORA_API_KEY, avoid logging command environments, and rotate the key if it is exposed.\n\n## Reference(s):\n\n- [Pinterest endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/pinterest-research)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration, JSON]\n\n**Output Format:** [Markdown guidance with shell command examples; API responses are JSON.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and uses public Pinterest data returned by Crawlora.]\n\n## Skill Version(s):\n\n1.0.14 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.13: 5 files, 6738 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (3678b), skill-card.md (2311b), SKILL.md (4907b), _meta.json (138b)\n\nFile v1.0.13:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1789042598511\n}\n\nFile v1.0.13:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.13:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and content researchers use this skill to inspect public Pinterest profiles, boards, pins, category feeds, and keyword search results through Crawlora instead of scraping Pinterest directly.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Authenticated Crawlora requests may expose Pinterest search terms and public-profile targets to Crawlora under the user's API key.\n\nMitigation: Install and run the skill only when that data sharing is acceptable for the intended use case.\n\nRisk: Security evidence flags the helper as capable of authenticated same-host API calls outside the documented read-only Pinterest endpoint set if invoked with crafted arguments.\n\nMitigation: Review the helper before installation and restrict usage to the documented Pinterest endpoints in the skill reference.\n\nRisk: The skill is limited to public Pinterest profiles, boards, pins, categories, and search results.\n\nMitigation: Do not use it for private boards, logged-in Pinterest data, or workflows that require non-public account access.\n\n## Reference(s):\n\n- [Pinterest endpoint reference](reference/endpoints.md)\n- [Crawlora API](https://api.crawlora.net/api/v1)\n- [Crawlora](https://crawlora.net)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/pinterest-research)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with shell command examples and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and returns public Pinterest data from Crawlora endpoints.]\n\n## Skill Version(s):\n\n1.0.13 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.12: 5 files, 6448 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (3353b), skill-card.md (1910b), SKILL.md (4955b), _meta.json (138b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/pinterest/board/marthastewart/holiday-recipes\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1789042028255\n}\n\nFile v1.0.12:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.12:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to research public Pinterest profiles, boards, pins, category feeds, and keyword search results for competitor audits, content planning, trend scouting, and brand sweeps.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires a Crawlora API key for authenticated public Pinterest lookups.\n\nMitigation: Store the key only in CRAWLORA_API_KEY and do not hardcode, commit, or pass it in query parameters.\n\nRisk: The security summary says the helper can send authenticated Crawlora requests more broadly than the documented read-only endpoints imply.\n\nMitigation: Prefer the documented GET examples and review requested paths before running the helper to avoid credit use or unintended Crawlora routes.\n\n## Reference(s):\n\n- [pinterest-research endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n\n## Skill Output:\n\n**Output Type(s):** [API Calls, Shell commands, Configuration instructions, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and returns public Pinterest data from Crawlora endpoints.]\n\n## Skill Version(s):\n\n1.0.12 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.11: 5 files, 6359 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (3053b), skill-card.md (1989b), SKILL.md (4955b), _meta.json (138b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/pinterest/board/marthastewart/holiday-recipes\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1789041299778\n}\n\nFile v1.0.11:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and research teams use this skill to gather public Pinterest profile, board, pin, category, and keyword-search data through Crawlora instead of scraping Pinterest directly.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Authenticated API calls send query, path, and API key use to Crawlora and may consume account credits.\n\nMitigation: Keep the Crawlora key private, use only documented Pinterest routes, and monitor account credit usage.\n\nRisk: Release security evidence flags the authenticated helper as able to make broader Crawlora requests than the documented Pinterest GET-only catalog.\n\nMitigation: Review the helper before installing in strict least-privilege environments and restrict use to the documented Pinterest workflow.\n\n## Reference(s):\n\n- [Pinterest Endpoint Reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [ClawHub Skill Page](https://clawhub.ai/crawlora-org/skills/pinterest-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell command examples and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and returns public Pinterest data through Crawlora endpoints.]\n\n## Skill Version(s):\n\n1.0.11 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.10: 5 files, 6417 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (3005b), skill-card.md (2312b), SKILL.md (4955b), _meta.json (138b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/pinterest/board/marthastewart/holiday-recipes\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1789040569906\n}\n\nFile v1.0.10:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON for agents instead of scraping Pinterest directly.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and agents use this skill to research public Pinterest profiles, boards, pins, category feeds, and keyword search results for competitor audits, content ideation, and trend scouting.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pinterest research queries, usernames, board slugs, pin IDs, and category targets are sent to Crawlora with the user's API key.\n\nMitigation: Use the skill only for public Pinterest research data that is appropriate to share with Crawlora, and keep the API key in CRAWLORA_API_KEY rather than in prompts, URLs, code, or commits.\n\nRisk: The security summary flags that the helper can make authenticated requests broader than the documented read-only Pinterest endpoints.\n\nMitigation: Review the helper before installing and restrict use to GET requests against the exact documented Pinterest paths when operating in a higher-trust environment.\n\n## Reference(s):\n\n- [pinterest-research ClawHub skill page](https://clawhub.ai/crawlora-org/skills/pinterest-research)\n- [Crawlora publisher profile](https://clawhub.ai/user/crawlora-org)\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora API](https://api.crawlora.net/api/v1)\n- [Crawlora](https://crawlora.net)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and returns public Pinterest data through documented Crawlora endpoints.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.9: 5 files, 5888 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (2005b), skill-card.md (1896b), SKILL.md (4929b), _meta.json (137b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- `export CRAWLORA_API_KEY=sk_your_key_here`\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/pinterest/board/marthastewart/holiday-recipes\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1789023543310\n}\n\nFile v1.0.9:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, analysts, and social media teams use this skill to inspect public Pinterest profiles, boards, pins, category feeds, and keyword search results through Crawlora instead of direct Pinterest scraping.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The bundled helper can send authenticated requests to Crawlora paths and HTTP methods outside the documented Pinterest GET endpoints.\n\nMitigation: Review calls before execution, use a dedicated Crawlora key with limited quota, avoid sending secrets or unrelated private data, and prefer a version that restricts the helper to the documented Pinterest GET endpoints.\n\n## Reference(s):\n\n- [Pinterest endpoint reference](reference/endpoints.md)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n- [Crawlora website](https://crawlora.net)\n- [ClawHub skill listing](https://clawhub.ai/crawlora-org/skills/pinterest-research)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, API Calls, JSON]\n\n**Output Format:** [Markdown guidance with shell command examples and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and returns public Pinterest data from Crawlora endpoints.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.8: 5 files, 5845 bytes\n\nFiles: reference/endpoints.md (3642b), scripts/crawlora.sh (1870b), skill-card.md (1968b), SKILL.md (4929b), _meta.json (137b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- `export CRAWLORA_API_KEY=sk_your_key_here`\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/pinterest/board/marthastewart/holiday-recipes\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Pinterest\nendpoint this skill uses.\n\n## Examples\n\n- **Competitor board audit:** pull a competitor's profile plus\n  `/pinterest/user/{username}/boards`, compare board topics, pin counts, and\n  follower counts to spot content gaps.\n- **Content-idea research:** `/pinterest/categories` to find the relevant\n  \"Ideas\" category, then `/pinterest/ideas/{id}` to see what's currently\n  surfacing in that category's feed before planning new pins.\n- **Brand-mention / keyword sweep:** `/pinterest/search` for a brand or\n  product name, then `/pinterest/pin/{id}` on the top results to check\n  save counts and pinner details.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public profiles/boards/pins; no login, no private\n  boards. Respect Pinterest's terms.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Board lookups need both `username` and `slug`** — get the slug from the\n  board's own `/{username}/{slug}/` URL; there's no board-search-by-name\n  endpoint.\n- **`/pinterest/ideas/{id}` requires a category id from\n  `/pinterest/categories` first** — ids aren't guessable from a category's\n  display name.\n- List endpoints (`search`, `board`, `user/{username}/boards`,\n  `user/{username}/pins`, `ideas/{id}`) return a page of results — check the\n  response for a cursor/offset to walk beyond the first page.\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1788842088450\n}\n\nFile v1.0.8:reference/endpoints.md\n\n# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:** Get a Pinterest user's boards. Returns a page of a Pinterest user's own boards: name, description, cover image, and pin/follower counts for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_pins`\n\n- **HTTP:** `GET /pinterest/user/{username}/pins`\n- **What:** Get a Pinterest user's own pins. Returns a page of a Pinterest user's own pins: title, description, image, board, and pinner for each. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[tonywangcn](https://clawhub.ai/user/tonywangcn)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, analysts, and content researchers use this skill to inspect public Pinterest profiles, boards, pins, category feeds, and keyword search results through Crawlora instead of scraping Pinterest directly.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The bundled helper can send the Crawlora API key and caller-controlled requests to broader or overridden Crawlora destinations than the Pinterest-only purpose describes.\n\nMitigation: Review before installing, use only a Crawlora key suitable for this helper, avoid environments where CRAWLORA_API_BASE may be set by someone else, and prefer a version that restricts requests to documented Pinterest endpoints and validates the API host.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n- [ClawHub skill page](https://clawhub.ai/tonywangcn/skills/pinterest-research)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, text]\n\n**Output Format:** [Markdown with inline shell commands and JSON-oriented API guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces guidance for public Pinterest data lookups and Crawlora API calls; returned API payloads are JSON.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: pinterest-research Owner: crawlora-org Summary: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly. Tags: latest:1.0.17 Version history: v1.0.17 | 2026-09-1","codeSnippets":[],"executableExamples":[{"language":"sh","snippet":"# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'"},{"language":"sh","snippet":"# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'"},{"language":"sh","snippet":"# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'"},{"language":"sh","snippet":"# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'"},{"language":"sh","snippet":"# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'"},{"language":"sh","snippet":"# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories + a category feed:\nscripts/crawlora.sh /pinterest/categories | jq '.'\nscripts/crawlora.sh /pinterest/ideas/home-decor | jq '.'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: pinterest-research\ndescription: Researches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON. Use when the user wants a Pinterest user's profile/boards/pins, a pin's or board's detail, a category feed, or a keyword search on Pinterest — instead of scraping Pinterest directly.\n---\n\n# Pinterest research\n\nLook up public Pinterest profiles, boards, and pins, browse the \"Ideas\"\ncategory taxonomy, and run keyword search — all as normalized JSON from the\nCrawlora API, no Pinterest scraping or unofficial client libraries.\n\n## When to use this skill\n\n- \"What's <username>'s Pinterest profile / follower count / boards?\"\n- \"Pull the pins from this board / this user's own pins.\"\n- \"What's in this pin?\" (title, description, image, save count).\n- \"Search Pinterest for pins about <topic>.\"\n- \"What are Pinterest's Ideas categories, and what's trending in <category>?\"\n- Competitor board audits, content-idea research, or trend scouting on\n  Pinterest.\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Search** — `/pinterest/search?query=` for pins matching a text query\n   (title, description, image, board, pinner per result).\n2. **Pin detail** — `/pinterest/pin/{id}` for one pin's full detail: title,\n   description, image, board, pinner, comment count, save count, creation\n   time.\n3. **Board detail** — `/pinterest/board/{username}/{slug}` for a board's\n   metadata (name, description, cover image, pin/follower counts, owner)\n   plus a page of its pins.\n4. **User profile** — `/pinterest/user/{username}` for a user's public\n   profile: display name, bio, website, avatar, follower/following/pin/board\n   counts.\n5. **User's boards / pins** — `/pinterest/user/{username}/boards` and\n   `/pinterest/user/{username}/pins` for a page of a user's own boards or\n   own pins.\n6. **Ideas categories** — `/pinterest/categories` for the top-level \"Ideas\"\n   taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"); each entry's\n   `id` feeds `/pinterest/ideas/{id}` for that category's metadata plus a\n   page of pins from its feed.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Profile + boards + pins:\nscripts/crawlora.sh /pinterest/user/marthastewart | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/boards | jq '.'\nscripts/crawlora.sh /pinterest/user/marthastewart/pins | jq '.'\n\n# Search + pin detail:\nscripts/crawlora.sh /pinterest/search query=\"minimalist home office\" | jq '.'\nscripts/crawlora.sh /pinterest/pin/123456789 | jq '.'\n\n# Ideas categories"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"pinterest-research\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1789640482299\n}"},{"path":"reference/endpoints.md","content":"# pinterest-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**8 endpoints across 1 platform group(s).**\n\n## Pinterest (8)\n\n### `pinterest_board`\n\n- **HTTP:** `GET /pinterest/board/{username}/{slug}`\n- **What:** Get a Pinterest board's detail. Returns a Pinterest board's metadata (name, description, cover image, pin/follower counts, owner) plus a page of pins from that board. Public data sourced from Pinterest's own board pages.\n- **Params:** `slug` (string, **required**) — Board URL slug, from the board's own /{username}/{slug}/ URL; `username` (string, **required**) — Pinterest username that owns the board\n\n### `pinterest_categories`\n\n- **HTTP:** `GET /pinterest/categories`\n- **What:** Get Pinterest's \"Ideas\" category list. Returns Pinterest's top-level \"Ideas\" category taxonomy (e.g. \"Animals\", \"Home Decor\", \"Food And Drink\"). Each entry's id is usable directly with GET /pinterest/ideas/{id}. Public data sourced from Pinterest's own ideas.pinterest.com-style category hub.\n- **Params:** _none_\n\n### `pinterest_idea`\n\n- **HTTP:** `GET /pinterest/ideas/{id}`\n- **What:** Get a Pinterest \"Ideas\" category's detail feed. Returns one \"Ideas\" category's metadata (name, description, follower count) plus a page of pins from that category's feed. Public data sourced from Pinterest's own ideas category pages.\n- **Params:** `id` (string, **required**) — Pinterest ideas category id. See GET /pinterest/categories for the full list.\n\n### `pinterest_pin`\n\n- **HTTP:** `GET /pinterest/pin/{id}`\n- **What:** Get a Pinterest pin's full detail. Returns a single Pinterest pin's full detail: title, description, image, board, pinner, comment count, save count, and creation time. Public data sourced from Pinterest's own pin pages.\n- **Params:** `id` (string, **required**) — Pinterest pin id\n\n### `pinterest_search`\n\n- **HTTP:** `GET /pinterest/search`\n- **What:** Search Pinterest pins. Returns public Pinterest pins matching a text query: title, description, image, board, and pinner for each result. Public data sourced from Pinterest's own web search.\n- **Params:** `query` (string, **required**) — Search text\n\n### `pinterest_user`\n\n- **HTTP:** `GET /pinterest/user/{username}`\n- **What:** Get a Pinterest user's public profile. Returns a Pinterest user's public profile: display name, bio, website, avatar, and follower/following/pin/board counts. Public data sourced from Pinterest's own profile pages.\n- **Params:** `username` (string, **required**) — Pinterest username\n\n### `pinterest_user_boards`\n\n- **HTTP:** `GET /pinterest/user/{username}/boards`\n- **What:**"},{"path":"skill-card.md","content":"## Description:\n\nResearches Pinterest profiles, boards, pins, ideas categories, and search results via the Crawlora API, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, researchers, marketers, and content teams use this skill to retrieve public Pinterest profile, board, pin, category, and keyword-search data through Crawlora instead of scraping Pinterest directly.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pinterest search terms, usernames, board slugs, pin IDs, and the Crawlora API key are sent to Crawlora.\n\nMitigation: Use the skill only when sharing those inputs with Crawlora is acceptable, keep the key in CRAWLORA_API_KEY, and avoid sensitive or private research terms.\n\nRisk: The skill retrieves public Pinterest data through a third-party service and may reflect that service's availability, limits, and returned data quality.\n\nMitigation: Review returned JSON before relying on it for decisions, and account for Crawlora API errors, pagination, and credit limits in workflows.\n\nRisk: The helper executes outbound GET requests with credentials.\n\nMitigation: Use the documented route-limited helper, avoid hardcoding or committing the API key, and review commands before execution.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora website](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, API Calls, JSON, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with shell commands that return JSON from the Crawlora API]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and supports documented GET-only Pinterest routes.]\n\n## Skill Version(s):\n\n1.0.17 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1562,"uniquenessScore":37,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T00:24:31.844Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-12T00:24:31.844Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-12T18:20:09.286Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}