Yelp Advertising API

Advertising operations documented in the Yelp developer reference: Pause Program; Resume Program; Create Program; Modify Program; Terminate Program; Program Status.

Operations 6

POST /program/{program_id}/pause/v1 Pause Program #
POST /program/{program_id}/resume/v1 Resume Program #
POST /v1/reseller/program/create Create Program #
POST /v1/reseller/program/{program_id}/edit Modify Program #
POST /v1/reseller/program/{program_id}/end Terminate Program #
GET /v1/reseller/status/{job_id} Program Status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/yelp:yelp-advertising-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

yelp-advertising-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Advertising API
  version: '1.0'
servers:
- url: https://partner-api.yelp.com/
security:
- basic: []
tags:
- name: Advertising
paths:
  /program/{program_id}/pause/v1:
    post:
      summary: Pause Program
      tags:
      - Advertising
      description: Pauses a running CPC program. This endpoint requires special configuration, please get in touch if you would like access.
      operationId: pause_reseller_program_v1
      parameters:
      - in: path
        name: program_id
        required: true
        schema:
          type: string
        description: Program ID
      responses:
        '202':
          $ref: '#/components/responses/Empty400Response'
          description: '202'
        '400':
          $ref: '#/components/responses/Empty400Response'
  /program/{program_id}/resume/v1:
    post:
      summary: Resume Program
      tags:
      - Advertising
      description: Resume a paused CPC program. This endpoint requires special configuration, please get in touch if you would like access.
      operationId: resume_reseller_program_v1
      parameters:
      - in: path
        name: program_id
        required: true
        schema:
          type: string
        description: Program ID
      responses:
        '202':
          $ref: '#/components/responses/Empty400Response'
          description: '202'
        '400':
          $ref: '#/components/responses/Empty400Response'
  /v1/reseller/program/create:
    post:
      summary: Create Program
      tags:
      - Advertising
      description: Creates a new program for a Yelp business
      operationId: create_reseller_program_v1
      parameters:
      - in: query
        name: Query Params
        description: Create a CPC or other Yelp Program for a Yelp business
        required: true
        style: form
        explode: true
        schema:
          type: object
          oneOf:
          - properties:
              business_id:
                type: string
                description: Yelp Encrypted Business ID.
              program_name:
                type: string
                description: Must be "CPC" for CPC programs.
                enum:
                - CPC
              start:
                $ref: '#/components/schemas/StartDescription'
                type: string
              end:
                $ref: '#/components/schemas/EndDescription'
                type: string
              budget:
                type: integer
                description: Monthly budget in cents. For a monthly budget of $50.00, please input “5000”. Value must be greater than or equal to $25 dollars.
              currency_code:
                type: string
                description: ISO 4217 Currency Code. Default is USD
              is_autobid:
                type: boolean
                description: If field is set to true, then Yelp will autobid. Set to false if using max_bid
              max_bid:
                type: integer
                description: Maximum bid value in cents. *Value must be greater than or equal to $0.50 or "50"*. This field is required if is_autobid is false. * If you want to bid a maximum of $25.50, please use a value of “2550” cents and not “25.50” which will result in error.
              pacing_method:
                type: string
                description: 'Possible values are: "paced" (default if is_autobid=true), "unpaced" (default if max_bid is set) - cannot be used if is_autobid=true * . "unpaced" will attempt to spend the budget as fast as possible.'
                enum:
                - paced
                - unpaced
              fee_period:
                type: string
                description: 'Possible values are: "CALENDAR_MONTH", "ROLLING_MONTH". The fee_period determines the time frame for the CPC Program. If CALENDAR_MONTH, then budgets will reset at the 1st of every month. If ROLLING_MONTH, then budgets will reset every 30 days. Default is CALENDAR_MONTH.'
                enum:
                - CALENDAR_MONTH
                - ROLLING_MONTH
              ad_categories:
                type: array
                description: 'You are able to choose any of the categories of the specified business and run the CPC campaign for only these categories.


                  You get the categories of a business using the [Get business by ID](https://docs.developer.yelp.com/reference/v3_business_info) endpoint.

                  Use the `alias` of the categories (field `categories[].alias`).



                  Example: If the business has the categories *hvac* and *plumbing*, you can run two different campaigns for each category with a different budget each.

                  '
                items:
                  type: string
                  description: Business category alias.
            required:
            - business_id
            - program_name
            - start
            - end
            - budget
            type: object
            title: Create CPC Program
            description: Query parameters for all program types except CPC.
          - properties:
              business_id:
                type: string
                description: Yelp Encrypted Business ID.
              program_name:
                $ref: '#/components/schemas/ProgramName'
              start:
                $ref: '#/components/schemas/StartDescription'
                type: string
              end:
                $ref: '#/components/schemas/EndDescription'
                type: string
            required:
            - business_id
            - program_name
            - start
            - end
            type: object
            title: Create Other Programs
            description: Query parameters for all program types except CPC.
      responses:
        '200':
          $ref: '#/components/responses/JobCreatedProgram200Response'
        '400':
          $ref: '#/components/responses/Empty400Response'
  /v1/reseller/program/{program_id}/edit:
    post:
      summary: Modify Program
      tags:
      - Advertising
      description: Modifies an existing program for a Yelp business
      operationId: modify_reseller_program_v1
      parameters:
      - in: path
        name: program_id
        required: true
        schema:
          type: string
        description: The program_id that needs to be modified.
      - in: query
        description: Start date for the specified program
        name: start
        required: false
        schema:
          type: string
          format: date
      - in: query
        description: End date for the specified program
        name: end
        required: false
        schema:
          type: string
          format: date
      - in: query
        description: Monthly budget in cents. For a monthly budget of $50.00, please input “5000”. Value must be greater than or equal to $25 dollars.
        name: budget
        required: false
        schema:
          type: integer
      - in: query
        description: Maximum bid value in cents. Can only be changed if program is using max_bid option. * The minimum value is $0.50 which is "50"
        name: max_bid
        required: false
        schema:
          type: integer
      - in: query
        description: Schedule an upcoming budget change for campaign.
        name: future_budget_date
        required: false
        schema:
          type: string
          format: date
      - in: query
        description: 'Possible values are: "paced" "unpaced" * "strict_paced"'
        name: pacing_method
        required: false
        schema:
          type: string
          enum:
          - paced
          - unpaced
      - in: query
        name: ad_categories
        description: 'You are able to choose any of the categories of the specified business and run the CPC campaign for only these categories.


          You get the categories of a business using the [Get business by ID](https://docs.developer.yelp.com/reference/v3_business_info) endpoint.

          Use the `alias` of the categories (field `categories[].alias`).



          Example: If the business has the categories *hvac* and *plumbing*, you can run two different campaigns for each category with a different budget each.

          '
        schema:
          type: array
          items:
            type: string
            description: Business category alias.
      responses:
        '200':
          $ref: '#/components/responses/JobCreatedProgram200Response'
        '400':
          $ref: '#/components/responses/Empty400Response'
  /v1/reseller/program/{program_id}/end:
    post:
      summary: Terminate Program
      tags:
      - Advertising
      description: Deletes an existing program for a Yelp business
      operationId: end_reseller_program_v1
      parameters:
      - in: path
        name: program_id
        required: true
        schema:
          type: string
        description: The program_id that needs to be modified.
      responses:
        '200':
          $ref: '#/components/responses/JobCreatedProgram200Response'
        '400':
          $ref: '#/components/responses/Empty400Response'
  /v1/reseller/status/{job_id}:
    get:
      summary: Program Status
      tags:
      - Advertising
      description: Obtain the status of an existing ingestion job
      operationId: get_reseller_status_v1
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          type: string
        description: Job receipt ID
      responses:
        '200':
          $ref: '#/components/responses/JobStatusProgram200Response'
        '400':
          $ref: '#/components/responses/Empty400Response'
components:
  schemas:
    EndDescription:
      description: 'End date for the specified program. The date format is YYYY-MM-DD format (e.g., 2016-01-31). Programs will end at 11:59pm PST for a given end date. If no end date is set, then the program will run indefinitely until it is terminated via the Advertising API.

        '
    DIField:
      type: object
      properties:
        status:
          type: string
        requested_value:
          type: string
    StartDescription:
      description: 'Start date for the specified program. The date format is YYYY-MM-DD format (e.g., 2016-01-01). Programs will start at 12:00am PST for a given start date. If no start date is set, then the program will start immediately.

        '
    ProgramName:
      type: string
      description: 'Indicates the type of program you want to enable.

        Possible values are: `BP` Branded Profile, `EP` – Enhanced Profile, `RCA` (Remove Competitor Ads), `CTA` (Call To Action), `SLIDESHOW` (Slideshow), `BH` (Business Highlights), `VL` (Verified License), `LOGO`, `PORTFOLIO`

        '
      enum:
      - BP
      - EP
      - RCA
      - CTA
      - SLIDESHOW
      - BH
      - VL
      - LOGO
      - PORTFOLIO
  responses:
    JobCreatedProgram200Response:
      description: '200'
      content:
        application/json:
          schema:
            type: object
            properties:
              job_id:
                type: string
            required:
            - job_id
          examples:
            Result:
              value:
                job_id: prvtN-nilb4mUynGGgKuBQ
    Empty400Response:
      description: '400'
      content:
        application/json:
          schema:
            type: object
          examples:
            Result:
              value: {}
    JobStatusProgram200Response:
      description: '200'
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
              completed_at:
                type: string
              created_at:
                type: string
              business_results:
                type: array
                items:
                  type: object
                  properties:
                    status:
                      type: string
                    identifier_type:
                      type: string
                    identifier:
                      type: string
                    update_results:
                      type: object
                      properties:
                        program_added:
                          type: object
                          properties:
                            start:
                              $ref: '#/components/schemas/DIField'
                            program_name:
                              $ref: '#/components/schemas/DIField'
                            end:
                              $ref: '#/components/schemas/DIField'
                            program_id:
                              $ref: '#/components/schemas/DIField'
                            yelp_business_id:
                              $ref: '#/components/schemas/DIField'
          examples:
            Result:
              value:
                status: PROCESSING
                completed_at: null
                created_at: '2018-11-26T22:50:38+00:00'
                business_results:
                - status: COMPLETED
                  identifier_type: BUSINESS
                  identifier: pzni3DBjMPxrBsbKbf2gbQ
                  update_results:
                    program_added:
                      start:
                        status: COMPLETED
                        requested_value: '2018-12-25'
                      program_name:
                        status: COMPLETED
                        requested_value: BP
                      end:
                        status: COMPLETED
                        requested_value: '2018-12-30'
                      program_id:
                        status: COMPLETED
                        requested_value: J-f-JohjGMmirSqJEn_Gig
                      yelp_business_id:
                        status: COMPLETED
                        requested_value: pzni3DBjMPxrBsbKbf2gbQ
  securitySchemes:
    basic:
      type: http
      scheme: basic
x-provenance:
  method: searched
  source: https://docs.developer.yelp.com/reference
  harvested: '2026-11-05'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.developer.yelp.com/reference/create_reseller_program_v1.md
  - https://docs.developer.yelp.com/reference/end_reseller_program_v1.md
  - https://docs.developer.yelp.com/reference/get_reseller_status_v1.md
  - https://docs.developer.yelp.com/reference/modify_reseller_program_v1.md
  - https://docs.developer.yelp.com/reference/pause_reseller_program_v1.md
  - https://docs.developer.yelp.com/reference/resume_reseller_program_v1.md
  merge:
    pages: 6
    deduped: 12
    conflicts_kept_first: 0