Yelp Program Feature API

Program Feature operations documented in the Yelp developer reference: Create a portfolio project draft; Retrieve Program Feature; Add Program Feature; Delete Program Feature; Get Portfolio Photos; Upload Portfolio Photos; Delete Portfolio Photo; Retrieve Portfolio Project Info; Update Portfolio Project; Delete Portfolio Project.

Operations 3

GET /{program_id}/features/v1 Retrieve Program Feature #
POST /{program_id}/features/v1 Add Program Feature #
DELETE /{program_id}/features/v1 Delete Program Feature #

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-program-feature-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-program-feature-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Program Feature API
  version: '1.0'
servers:
- url: https://partner-api.yelp.com/program
security:
- basic: []
tags:
- name: Program Feature
paths:
  /{program_id}/features/v1:
    get:
      tags:
      - Program Feature
      summary: Retrieve Program Feature
      operationId: retrieve_program_feature
      description: 'Retrieve available and active features for the specified payment program. This endpoint returns the program features that are available for the specified program. For each available feature type, the `features` object will contain the corresponding `feature` object as described below. If the program does not support any of the available feature types the `features` object will be empty. ### LINK_TRACKING

        | Parameter | Type | Required | Description

        | --------- | ------------- | ------------- | -------------

        | `website` | string or null | Yes | Tracking URL or parameter(s) for the website link

        | `menu` | string or null | Yes | Tracking URL or parameter(s) for the menu link

        | `url` | string or null | Yes | Tracking URL or parameter(s) for the CTA link


        ### NEGATIVE_KEYWORD_TARGETING

        | Parameter | Type | Required | Description

        | -------------------- | ---------------- | ----------- | -------------

        | `suggested_keywords` | list of string | No | List of search terms for which your biz ad might be shown. **Please note:** This list consists of up to 25 possible keywords where your ad may appear. Those suggestions are based on common searches associated with the business category. The 25 suggestions are not exhaustive, your ad will also appear on searches not shown in the list of suggestions. | `blocked_keywords` | list of string | Yes | List of currently blocked keywords. You can use this field to update the list of terms you would like to block. **Please note:** You are allowed to add custom search terms outside of the suggested keywords list. Suggested keywords list is for guidance purposes. ### STRICT_CATEGORY_TARGETING

        | Parameter | Type | Required | Description

        | --------- | ------------- | ------------- | -------------

        | `enabled` | bool | Yes


        ### AD_SCHEDULING

        | Parameter | Type | Required | Description

        | -------------------- | -------- | ----------- | -------------

        | `uses_opening_hours` | bool | Yes | Should the ad only be delivered while the business is open? i.e. if {''uses_opening_hours'': true } and the business''s hours are 8-5pm, a 6pm search wouldn''t be eligible for this ad. ### CUSTOM_LOCATION_TARGETING

        | Parameter | Type | Required | Description

        | --------------------------- | ------------- | ------------| -------------

        | `businesses` | list[object] | Yes | List of all businesses that are part of the ad campaign. | `businesses[].business_id` | string | Yes | Business ID

        | `businesses[].locations` | list[string] | Yes | List of 0 up to 25 locations. These locations can be zip codes, cities, neighbourhoods, counties or state names but must be within the US. ### AD_GOAL

        | Parameter | Type | Required | Description

        | --------- | ------------- | ------------- | -------------

        | `ad_goal` | bool | Yes | Must be one of `DEFAULT`, `CALLS`, or `WEBSITE_CLICKS`


        ### CALL_TRACKING

        | Parameter | Type | Required | Description

        | ----------------------------------- | -------------- | ------------- | -------------

        | `enabled` | bool | Yes | Indicates whether call tracking is enabled or disabled on a campaign level. | `businesses` | list[object] | Yes | List of all businesses that are part of the ad campaign. | `businesses[].business_id` | string | Yes | Business ID

        | `businesses[].metered_phone_number` | string or null | Yes | Phone number which will be used as a call tracking number for the provided business in the ad campaign. ### SERVICE_OFFERINGS_TARGETING


        **Note:** This feature was **deprecated** and removed, please use Negative Keyword Targeting instead.'
      parameters:
      - name: program_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved a payment program's features
          content:
            application/json:
              examples:
                Result:
                  value:
                    features:
                      LINK_TRACKING:
                        website: utm_source=yelp
                        menu: null
                        call_to_action: http://tracking.example/campaigns/42
                      NEGATIVE_KEYWORD_TARGETING:
                        suggested_keywords:
                        - 24 hour coffee shops
                        - bagels
                        - bakery
                        - breakfast & brunch
                        - bubble tea
                        - cafe
                        - cake
                        - coffee
                        - coffee shops free wifi
                        - desserts
                        - donuts
                        - dunkin donuts
                        - espresso
                        - healthy food
                        - ice cream
                        - late night coffee shops
                        - lunch
                        - pastry
                        - restaurants
                        - smoothie
                        - starbucks
                        - starbucks drive thru
                        - study spots
                        - tea
                        - vegan
                        blocked_keywords:
                        - desserts
                        - donuts
                        - dunkin donuts
                      STRICT_CATEGORY_TARGETING:
                        enabled: false
                      CUSTOM_LOCATION_TARGETING:
                        businesses:
                        - business_id: wKgam7fyKFRPWVS6MzVOUA
                          locations:
                          - 94134, San Francisco, CA
                          - 94143, San Francisco, CA
                          - 94158, San Francisco, CA
                          - 94188, San Francisco, CA
                      AD_SCHEDULING:
                        uses_opening_hours: false
                    program_id: hmPSQN_57dtcE9fUJvWTDw
                    program_type: CPC
              schema:
                type: object
                properties:
                  features:
                    type: object
                    properties:
                      LINK_TRACKING:
                        type: object
                        properties:
                          website:
                            type: string
                          menu:
                            type: string
                          call_to_action:
                            type: string
                      NEGATIVE_KEYWORD_TARGETING:
                        type: object
                        properties:
                          suggested_keywords:
                            type: array
                            items:
                              type: string
                          blocked_keywords:
                            type: array
                            items:
                              type: string
                      STRICT_CATEGORY_TARGETING:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                      CUSTOM_LOCATION_TARGETING:
                        type: object
                        properties:
                          businesses:
                            type: array
                            items:
                              type: object
                              properties:
                                business_id:
                                  type: string
                                locations:
                                  type: array
                                  items:
                                    type: string
                      AD_SCHEDULING:
                        type: object
                        properties:
                          uses_opening_hours:
                            type: boolean
                  program_id:
                    type: string
                  program_type:
                    type: string
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                properties: []
    post:
      tags:
      - Program Feature
      summary: Add Program Feature
      operationId: add_program_feature
      description: 'Set up or update program features for the specified payment program. This endpoint sets up feature types for the specified program by providing values for the available features in the request body - either all features types or any subset. The response of this endpoint is identical to the one from the GET endpoint and reflects the changes to the specified payment program if successful. If a feature_type key is passed to a program that does not support the requested feature type, an error message is returned. ### LINK_TRACKING

        | Parameter | Type | Required | Description

        | --------- | ------------- | ------------- | -------------

        | `website` | string or null | Yes | Tracking URL or parameter(s) for the website link

        | `menu` | string or null | Yes | Tracking URL or parameter(s) for the menu link

        | `url` | string or null | Yes | Tracking URL or parameter(s) for the CTA link


        ### NEGATIVE_KEYWORD_TARGETING

        | Parameter | Type | Required | Description

        | -------------------- | ---------------- | ----------- | -------------

        | `suggested_keywords` | list of string | No | List of search terms for which your biz ad might be shown. **Please note:** This list consists of up to 25 possible keywords where your ad may appear. Those suggestions are based on common searches associated with the business category. The 25 suggestions are not exhaustive, your ad will also appear on searches not shown in the list of suggestions. | `blocked_keywords` | list of string | Yes | List of currently blocked keywords. You can use this field to update the list of terms you would like to block. **Please note:** You are allowed to add custom search terms outside of the suggested keywords list. Suggested keywords list is for guidance purposes. ### STRICT_CATEGORY_TARGETING

        | Parameter | Type | Required | Description

        | --------- | ------------- | ------------- | -------------

        | `enabled` | bool | Yes


        ### AD_SCHEDULING

        | Parameter | Type | Required | Description

        | -------------------- | -------- | ----------- | -------------

        | `uses_opening_hours` | bool | Yes | Should the ad only be delivered while the business is open? i.e. if {''uses_opening_hours'': true } and the business''s hours are 8-5pm, a 6pm search wouldn''t be eligible for this ad. ### CUSTOM_LOCATION_TARGETING

        | Parameter | Type | Required | Description

        | --------------------------- | ------------- | ------------| -------------

        | `businesses` | list[object] | Yes | List of all businesses that are part of the ad campaign. | `businesses[].business_id` | string | Yes | Business ID

        | `businesses[].locations` | list[string] | Yes | List of 0 up to 25 locations. These locations can be zip codes, cities, neighbourhoods, counties or state names but must be within the US. ### AD_GOAL

        | Parameter | Type | Required | Description

        | --------- | ------------- | ------------- | -------------

        | `ad_goal` | bool | Yes | Must be one of `DEFAULT`, `CALLS`, or `WEBSITE_CLICKS`


        ### CALL_TRACKING

        | Parameter | Type | Required | Description

        | ----------------------------------- | -------------- | ------------- | -------------

        | `enabled` | bool | Yes | Indicates whether call tracking is enabled or disabled on a campaign level. | `businesses` | list[object] | Yes | List of all businesses that are part of the ad campaign. | `businesses[].business_id` | string | Yes | Business ID

        | `businesses[].metered_phone_number` | string or null | Yes | Phone number which will be used as a call tracking number for the provided business in the ad campaign. ### SERVICE_OFFERINGS_TARGETING


        **Note:** This feature was **deprecated** and removed, please use Negative Keyword Targeting instead.'
      parameters:
      - name: program_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully setup or updated programs features for the specified payment program.
          content:
            application/json:
              examples:
                Result:
                  value:
                    features:
                      LINK_TRACKING:
                        website: utm_source=yelp
                        menu: source=yelp
                        call_to_action: http://tracking.example/campaigns/42
                      NEGATIVE_KEYWORD_TARGETING:
                        suggested_keywords:
                        - 24 hour coffee shops
                        - bagels
                        - bakery
                        - breakfast & brunch
                        - bubble tea
                        - cafe
                        - cake
                        - coffee
                        - coffee shops free wifi
                        - desserts
                        - donuts
                        - dunkin donuts
                        - espresso
                        - healthy food
                        - ice cream
                        - late night coffee shops
                        - lunch
                        - pastry
                        - restaurants
                        - smoothie
                        - starbucks
                        - starbucks drive thru
                        - study spots
                        - tea
                        - vegan
                        blocked_keywords:
                        - desserts
                        - donuts
                        - dunkin donuts
                      STRICT_CATEGORY_TARGETING:
                        enabled: false
                    program_id: hmPSQN_57dtcE9fUJvWTDw
                    program_type: CPC
              schema:
                type: object
                properties:
                  features:
                    type: object
                    properties:
                      LINK_TRACKING:
                        type: object
                        properties:
                          website:
                            type: string
                          menu:
                            type: string
                          call_to_action:
                            type: string
                      NEGATIVE_KEYWORD_TARGETING:
                        type: object
                        properties:
                          suggested_keywords:
                            type: array
                            items:
                              type: string
                          blocked_keywords:
                            type: array
                            items:
                              type: string
                      STRICT_CATEGORY_TARGETING:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                  program_id:
                    type: string
                  program_type:
                    type: string
        '400':
          $ref: '#/paths/~1{program_id}~1features~1v1/get/responses/400'
    delete:
      tags:
      - Program Feature
      summary: Delete Program Feature
      operationId: delete_program_feature
      description: 'Delete certain program features from the specified payment program.


        This endpoint allows deleting particular feature types from the specified payment program. The feature types that have to be deleted are provided as an array value to the `features` key in the request object. The response is identical to the one returned by the GET endpoint and will contain all the feature property values set to their disabled states (e.g. `null`).


        ### VERIFIED_LICENSE

        You can remove all the license with the above method or you can use the `disabled_licenses` field to delete a single license:


        ```bash

        curl \

        -X DELETE

        -H ''Content-Type: application/json'' \

        --user "{username}:{password}" \

        -d ''{"features":["VERIFIED_LICENSE"],"disable_licenses":["license_num_to_delete"]}'' \

        https://partner-api.yelp.com/program/hmPSQN_57dtcE9fUJvWTDw/features/v1

        ```


        ### BUSINESS_PORTFOLIO

        You can delete all portfolio projects related to a program by sending a DELETE request.


        ```bash

        curl \

        -X DELETE

        -H ''Content-Type: application/json'' \

        --user "{username}:{password}" \

        -d ''{"features":["BUSINESS_PORTFOLIO"]}'' \

        https://partner-api.yelp.com/program/hmPSQN_57dtcE9fUJvWTDw/features/v1

        ```'
      parameters:
      - name: program_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully deleted programs features for the specified payment program.
          content:
            application/json:
              $ref: '#/paths/~1{program_id}~1features~1v1/post/responses/200/content/application~1json'
              examples:
                Result:
                  value:
                    features:
                      LINK_TRACKING:
                        website: 'null'
                        menu: 'null'
                        call_to_action: 'null'
                      NEGATIVE_KEYWORD_TARGETING:
                        suggested_keywords:
                        - 24 hour coffee shops
                        - bagels
                        - bakery
                        - breakfast & brunch
                        - bubble tea
                        - cafe
                        - cake
                        - coffee
                        - coffee shops free wifi
                        - desserts
                        - donuts
                        - dunkin donuts
                        - espresso
                        - healthy food
                        - ice cream
                        - late night coffee shops
                        - lunch
                        - pastry
                        - restaurants
                        - smoothie
                        - starbucks
                        - starbucks drive thru
                        - study spots
                        - tea
                        - vegan
                        blocked_keywords:
                        - desserts
                        - donuts
                        - dunkin donuts
                      STRICT_CATEGORY_TARGETING:
                        enabled: false
                      AD_GOAL:
                        ad_goal: DEFAULT
                    program_id: hmPSQN_57dtcE9fUJvWTDw
                    program_type: CPC
        '400':
          $ref: '#/paths/~1{program_id}~1features~1v1/get/responses/400'
components:
  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/add_program_feature.md
  - https://docs.developer.yelp.com/reference/create_portfolio_project_draft.md
  - https://docs.developer.yelp.com/reference/delete_portfolio_photo.md
  - https://docs.developer.yelp.com/reference/delete_portfolio_project.md
  - https://docs.developer.yelp.com/reference/delete_program_feature.md
  - https://docs.developer.yelp.com/reference/get_portfolio_photos.md
  - https://docs.developer.yelp.com/reference/retrieve_portfolio_project_info.md
  - https://docs.developer.yelp.com/reference/retrieve_program_feature.md
  - https://docs.developer.yelp.com/reference/update_portfolio_project.md
  - https://docs.developer.yelp.com/reference/upload_portfolio_photos.md
  merge:
    pages: 10
    deduped: 31
    conflicts_kept_first: 0