> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keyapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get boards

> Get a user's boards

<div className="inline-flex items-center gap-2 px-4 py-2 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg">
  <span className="text-base">🪙</span>
  <span className="text-sm font-medium text-yellow-900 dark:text-yellow-100"><span className="font-semibold">2 credits</span><span className="text-yellow-700 dark:text-yellow-300 ml-1">per request</span></span>
</div>

## Copy for AI

<div className="my-6 rounded-xl border border-gray-200 bg-gray-50 p-5 dark:border-gray-800 dark:bg-gray-900/40">
  <div className="min-w-0">
    <p className="text-base font-semibold text-gray-900 dark:text-gray-100">🤖 Why Code When AI Can Do It For You?</p>
    <p className="mt-1 text-sm text-gray-700 dark:text-gray-300">Stop writing code like it's 1970! Let AI do the heavy lifting - click the sparkles to copy a perfectly formatted prompt for ChatGPT, Claude, or your favorite AI assistant.</p>
  </div>

  <div className="mt-4">
    <button
      type="button"
      className="inline-flex items-center gap-2 rounded-md border border-emerald-300 bg-emerald-50 px-3 py-2 text-sm font-medium text-emerald-800 hover:bg-emerald-100 dark:border-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-100 dark:hover:bg-emerald-900/50"
      onClick={() => navigator.clipboard.writeText(`I want to make an API call to https://api.keyapi.ai/v1/pinterest/boards.

Please help me write code to make this API call and handle the response appropriately. Include error handling and best practices.

Here are the details:

Endpoint: GET https://api.keyapi.ai/v1/pinterest/boards

Description: Get a user's boards

Required Headers:
--header 'Authorization: Bearer <YOUR_API_KEY>'

Parameters:
- entry (Required): The Pinterest username to fetch board sections for. Requires BOARD_URL and SECTION_ID environment variables.. Example: broadstbullycom

Example Response:
{
"code": 0,
"message": "success",
"data": {
"boards": [
  {
    "id": "450430400252983295",
    "experience_extra_context": {},
    "shop_source": null,
    "type": "pin",
    "referring_source": null,
    "title": {
      "args_reformatted": [],
      "args": [],
      "text": "ZURU Snackles = squishy plush + surprise snack toy! 🍔🧸 Cute, collectible & cuddly—your kids will want them ALL! #Snackles #ZURUToys #MyTreasures",
      "format": "default"
    },
    "closeup_id": null,
    "objects": [],
    "experience": null,
    "content_ids": [],
    "bookmarks_for_objects": null,
    "aux_fields": {},
    "item_actions": [],
    "subtitle": null,
    "display_options": {},
    "story_type": null,
    "description": "ZURU Snackles = squishy plush + surprise snack toy! 🍔🧸 Cute, collectible & cuddly—your kids will want them ALL! #Snackles #ZURUToys #MyTreasures",
    "container_type": null,
    "mapped_display_options": {},
    "action": {},
    "button_text": null,
    "dynamic_insertion_options": {},
    "background_colour": null,
    "slot": null,
    "user": {
      "node_id": "VXNlcjo5MzAyNzY4NTk2MTMwMzk3Ng==",
      "explicitly_followed_by_me": false,
      "verified_identity": {},
      "ads_only_profile_site": null,
      "full_name": "Rising Star Events ~ Online Vendor Events",
      "image_large_url": "https://i.pi
... (truncated)`)}
    >
      <span>✨</span>
      <span>Copy for AI</span>
    </button>
  </div>
</div>


## OpenAPI

````yaml en/pinterest.openapi.json GET /v1/pinterest/boards
openapi: 3.0.1
info:
  title: Pinterest API english documentation
  description: >-
    The english reference documentation of the Pinterest API includes the
    interface's purpose, parameter description, response status, and sample
    structure.
  version: 1.0.0
servers:
  - url: https://api.keyapi.ai
    description: Production
security:
  - JWT Bearer: []
tags: []
paths:
  /v1/pinterest/boards:
    get:
      tags: []
      summary: Get boards
      description: Get a user's boards
      parameters:
        - name: entry
          in: query
          description: >-
            The Pinterest username to fetch board sections for. Requires
            BOARD_URL and SECTION_ID environment variables.
          required: true
          example: broadstbullycom
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
              example:
                code: 0
                message: success
                data:
                  boards:
                    - id: '450430400252983295'
                      experience_extra_context: {}
                      shop_source: null
                      type: pin
                      referring_source: null
                      title:
                        args_reformatted: []
                        args: []
                        text: >-
                          ZURU Snackles = squishy plush + surprise snack toy!
                          🍔🧸 Cute, collectible & cuddly—your kids will want
                          them ALL! #Snackles #ZURUToys #MyTreasures
                        format: default
                      closeup_id: null
                      objects: []
                      experience: null
                      content_ids: []
                      bookmarks_for_objects: null
                      aux_fields: {}
                      item_actions: []
                      subtitle: null
                      display_options: {}
                      story_type: null
                      description: >-
                        ZURU Snackles = squishy plush + surprise snack toy! 🍔🧸
                        Cute, collectible & cuddly—your kids will want them ALL!
                        #Snackles #ZURUToys #MyTreasures
                      container_type: null
                      mapped_display_options: {}
                      action: {}
                      button_text: null
                      dynamic_insertion_options: {}
                      background_colour: null
                      slot: null
                      user:
                        node_id: VXNlcjo5MzAyNzY4NTk2MTMwMzk3Ng==
                        explicitly_followed_by_me: false
                        verified_identity: {}
                        ads_only_profile_site: null
                        full_name: Rising Star Events ~ Online Vendor Events
                        image_large_url: >-
                          https://i.pinimg.com/140x140_RS/69/53/80/6953809268843ea70de1cf6fe5bc7e7a.jpg
                        blocked_by_me: false
                        is_ads_only_profile: false
                        id: '93027685961303976'
                        type: user
                        is_verified_merchant: false
                        image_small_url: >-
                          https://i.pinimg.com/30x30_RS/69/53/80/6953809268843ea70de1cf6fe5bc7e7a.jpg
                        is_primary_website_verified: false
                        username: queenval1967
                        image_medium_url: >-
                          https://i.pinimg.com/75x75_RS/69/53/80/6953809268843ea70de1cf6fe5bc7e7a.jpg
                      copy: {}
                      custom_properties: {}
                      relationships: {}
                      expanded_viewport_objects: []
                      tracking_params: >-
                        CwABAAAAEDEzNDQ4NjkzNzA1MjE2MDYGAAMAlQsABwAAAApuZ2FwaS9wcm9kAA
                      dominant_color: '#fe7ca9'
                      repin_count: 0
                      comment_count: 0
                      created_at: Fri, 04 Jul 2025 01:40:21 +0000
                      rich_metadata: null
                      is_video: false
                    - id: '450430400252983295'
                      experience_extra_context: {}
                      shop_source: null
                      type: pin
                      referring_source: null
                      title:
                        args_reformatted: []
                        args: []
                        text: >-
                          ZURU Snackles = squishy plush + surprise snack toy!
                          🍔🧸 Cute, collectible & cuddly—your kids will want
                          them ALL! #Snackles #ZURUToys #MyTreasures
                        format: default
                      closeup_id: null
                      objects: []
                      experience: null
                      content_ids: []
                      bookmarks_for_objects: null
                      aux_fields: {}
                      item_actions: []
                      subtitle: null
                      display_options: {}
                      story_type: null
                      description: >-
                        ZURU Snackles = squishy plush + surprise snack toy! 🍔🧸
                        Cute, collectible & cuddly—your kids will want them ALL!
                        #Snackles #ZURUToys #MyTreasures
                      container_type: null
                      mapped_display_options: {}
                      action: {}
                      button_text: null
                      dynamic_insertion_options: {}
                      background_colour: null
                      slot: null
                      user:
                        node_id: VXNlcjo5MzAyNzY4NTk2MTMwMzk3Ng==
                        explicitly_followed_by_me: false
                        verified_identity: {}
                        ads_only_profile_site: null
                        full_name: Rising Star Events ~ Online Vendor Events
                        image_large_url: >-
                          https://i.pinimg.com/140x140_RS/69/53/80/6953809268843ea70de1cf6fe5bc7e7a.jpg
                        blocked_by_me: false
                        is_ads_only_profile: false
                        id: '93027685961303976'
                        type: user
                        is_verified_merchant: false
                        image_small_url: >-
                          https://i.pinimg.com/30x30_RS/69/53/80/6953809268843ea70de1cf6fe5bc7e7a.jpg
                        is_primary_website_verified: false
                        username: queenval1967
                        image_medium_url: >-
                          https://i.pinimg.com/75x75_RS/69/53/80/6953809268843ea70de1cf6fe5bc7e7a.jpg
                      copy: {}
                      custom_properties: {}
                      relationships: {}
                      expanded_viewport_objects: []
                      tracking_params: >-
                        CwABAAAAEDEzNDQ4NjkzNzA1MjE2MDYGAAMAlQsABwAAAApuZ2FwaS9wcm9kAA
                      dominant_color: '#fe7ca9'
                      repin_count: 0
                      comment_count: 0
                      created_at: Fri, 04 Jul 2025 01:40:21 +0000
                      rich_metadata: null
                      is_video: false
                requestId: 9b78db08-5ceb-46b6-8f03-a0a7fc935ddb
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 400
                  data: null
                  message: 'Missing required parameter: handle'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 401
                  data: null
                  message: apiKey is null
        '402':
          description: Payment Required
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 402
                  data: null
                  message: apiKey quota is not enough
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 429
                  data: null
                  message: qps limit exceeded
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 500
                  data: null
                  message: Internal server error
      deprecated: false
      security:
        - JWT Bearer: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.keyapi.ai/v1/pinterest/boards?entry=broadstbullycom' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/v1/pinterest/boards',
                params={"entry": "broadstbullycom"},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"entry": "broadstbullycom"});


            const response = await
            fetch(`https://api.keyapi.ai/v1/pinterest/boards?${params}`, {
              method: 'GET',
              headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
            });

            const data = await response.json();

            console.log(data);
components:
  securitySchemes:
    JWT Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |-
        API key for authentication. Format: `sk_live_xxxxxxxxxxxxx`
        Get your API key from the [Dashboard](http://keyapi.ai/app/dashboard).

````