Nextdoor

Nextdoor developer platform with Advertising, Sharing, and Content Display APIs for connecting with hyperlocal audiences.

OpenAPI Specification

nextdoor-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Nextdoor Developer API
  description: |
    Nextdoor's developer platform exposes APIs for advertising
    (campaign and ad management, conversion tracking), content
    sharing and publishing (posts, events, FSF posts), and content
    discovery (search and trending). Endpoints below are derived
    from the public reference listing surfaced at developer.nextdoor.com.
  version: "1.0.0"
servers:
  - url: https://developer.nextdoor.com
    description: Nextdoor Developer API base
security:
  - oauth2: []
paths:
  /v1/campaign/create:
    post:
      summary: Create an advertising campaign
      operationId: createCampaign
      tags: [Advertising]
      responses:
        "200":
          description: Campaign created
  /v1/campaign/get/{id}:
    get:
      summary: Get a campaign by ID
      operationId: getCampaign
      tags: [Advertising]
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Campaign details
  /v1/campaign/update:
    post:
      summary: Update an existing campaign
      operationId: updateCampaign
      tags: [Advertising]
      responses:
        "200":
          description: Campaign updated
  /v1/campaign/get/{id}/stats:
    get:
      summary: Get statistics for a campaign
      operationId: getCampaignStats
      tags: [Advertising]
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Campaign stats
  /v1/ad/create:
    post:
      summary: Create an ad
      operationId: createAd
      tags: [Advertising]
      responses:
        "200":
          description: Ad created
  /v1/ad/list:
    get:
      summary: List ads
      operationId: listAds
      tags: [Advertising]
      responses:
        "200":
          description: A collection of ads
  /v1/ad/get/{id}/stats:
    get:
      summary: Get statistics for an ad
      operationId: getAdStats
      tags: [Advertising]
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Ad statistics
  /v1/creative/create:
    post:
      summary: Create a creative asset
      operationId: createCreative
      tags: [Creatives]
      responses:
        "200":
          description: Creative created
  /v1/media/video/upload:
    post:
      summary: Upload a video media asset
      operationId: uploadVideo
      tags: [Creatives]
      responses:
        "200":
          description: Upload accepted
  /v1/media/logo/upload:
    post:
      summary: Upload a logo media asset
      operationId: uploadLogo
      tags: [Creatives]
      responses:
        "200":
          description: Upload accepted
  /v1/media/canvas/upload:
    post:
      summary: Upload a canvas media asset
      operationId: uploadCanvas
      tags: [Creatives]
      responses:
        "200":
          description: Upload accepted
  /v1/conversions/track:
    post:
      summary: Send a conversion tracking event
      operationId: trackConversion
      tags: [Conversions]
      responses:
        "200":
          description: Conversion recorded
  /v1/create-post:
    post:
      summary: Publish a post to Nextdoor
      operationId: createPost
      tags: [Posts]
      responses:
        "200":
          description: Post created
  /v1/create-event-post:
    post:
      summary: Publish an event post
      operationId: createEventPost
      tags: [Posts]
      responses:
        "200":
          description: Event post created
  /v1/create-fsf-post:
    post:
      summary: Publish a For Sale and Free (FSF) post
      operationId: createFsfPost
      tags: [Posts]
      responses:
        "200":
          description: FSF post created
  /v1/get-your-posts:
    get:
      summary: Retrieve posts authored by the authenticated agent
      operationId: getYourPosts
      tags: [Posts]
      responses:
        "200":
          description: List of posts
  /v1/edit-a-post:
    post:
      summary: Edit an existing post
      operationId: editPost
      tags: [Posts]
      responses:
        "200":
          description: Post updated
  /v1/delete-a-post:
    post:
      summary: Delete a post
      operationId: deletePost
      tags: [Posts]
      responses:
        "200":
          description: Post deleted
  /v1/search-posts:
    get:
      summary: Search posts
      operationId: searchPosts
      tags: [Search]
      responses:
        "200":
          description: Matching posts
  /v1/search-event-items:
    get:
      summary: Search event items
      operationId: searchEvents
      tags: [Search]
      responses:
        "200":
          description: Matching events
  /v1/search-fsf-items:
    get:
      summary: Search For Sale and Free items
      operationId: searchFsfItems
      tags: [Search]
      responses:
        "200":
          description: Matching FSF items
  /v1/search-businesses:
    get:
      summary: Search businesses
      operationId: searchBusinesses
      tags: [Search]
      responses:
        "200":
          description: Matching businesses
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: |
        Nextdoor uses OAuth-based access tokens to authorize API
        requests. Refer to developer.nextdoor.com for token issuance
        and required scopes.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.nextdoor.com/v3/authorize
          tokenUrl: https://auth.nextdoor.com/v3/token
          scopes: {}
tags:
  - name: Advertising
  - name: Creatives
  - name: Conversions
  - name: Posts
  - name: Search