BP

BP Site Discovery API

The SiteDiscovery API from BP — 2 operation(s) for sitediscovery.

Operations 2

GET /sites Get sites #
GET /sites/{siteId} Get sites by site id #

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/bp-sitediscovery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

bp-sitediscovery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pay@Pump Site Discovery API
  description: A micro service for Pay@Pump
  version: '1'
security:
- Bearer: []
tags:
- name: SiteDiscovery
paths:
  /sites:
    get:
      tags:
      - SiteDiscovery
      parameters:
      - name: Lat
        in: query
        required: true
        schema:
          maximum: 90
          minimum: -90
          type: number
          format: double
      - name: Lng
        in: query
        required: true
        schema:
          maximum: 180
          minimum: -180
          type: number
          format: double
      - name: Radius
        in: query
        required: true
        schema:
          maximum: 16000
          minimum: 0
          type: integer
          format: int32
      - name: api-version
        in: header
        description: The requested API version
        schema:
          type: string
          default: '1'
      - name: X-APP-Client
        in: header
        description: Determines the calling client
        schema:
          type: string
      - name: X-Correlation-Id
        in: header
        description: A guid to track the request
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/pol_service_api.Response.Dsp.GetNearbySitesResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Response.Dsp.GetNearbySitesResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Response.Dsp.GetNearbySitesResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/pol_service_api.Models.Common.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Models.Common.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Models.Common.ErrorResponse'
      summary: Get sites
      x-summary-source: derived
      operationId: getSites
      x-operation-id-source: derived
  /sites/{siteId}:
    get:
      tags:
      - SiteDiscovery
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: api-version
        in: header
        description: The requested API version
        schema:
          type: string
          default: '1'
      - name: X-APP-Client
        in: header
        description: Determines the calling client
        schema:
          type: string
      - name: X-Correlation-Id
        in: header
        description: A guid to track the request
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/pol_service_api.Response.Dsp.GetSiteDetailsResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Response.Dsp.GetSiteDetailsResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Response.Dsp.GetSiteDetailsResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/pol_service_api.Models.Common.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Models.Common.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/pol_service_api.Models.Common.ErrorResponse'
      summary: Get sites by site id
      x-summary-source: derived
      operationId: getSitesBySiteId
      x-operation-id-source: derived
components:
  schemas:
    pol_service_api.Models.Common.ErrorResponse:
      type: object
      properties:
        errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/pol_service_api.Models.Common.PolError'
      additionalProperties: false
    pol_service_api.Response.Dsp.GetSiteDetailsResponse:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/pol_service_api.Models.Dsp.Address'
        fuelPumps:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/pol_service_api.Models.Dsp.PumpConfig'
      additionalProperties: false
    pol_service_api.Models.Common.PolError:
      type: object
      properties:
        errorCode:
          type:
          - string
          - 'null'
        errorMessage:
          type:
          - string
          - 'null'
      additionalProperties: false
    pol_service_api.Models.Dsp.RetailSite:
      type: object
      properties:
        siteName:
          type:
          - string
          - 'null'
        isActive:
          type: boolean
        retailSiteBrand:
          type:
          - string
          - 'null'
        mobileEnabled:
          type: boolean
          readOnly: true
        retailSiteOperatingHours:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/pol_service_api.Models.Dsp.RetailSiteOperatingHour'
        retailSiteFeatures:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/pol_service_api.Models.Dsp.RetailSiteFeature'
      additionalProperties: false
    pol_service_api.Models.Dsp.FuelGrade:
      type: object
      properties:
        available:
          type: boolean
        fuelType:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
      additionalProperties: false
    pol_service_api.Models.Dsp.Address:
      type: object
      properties:
        addressLine1:
          type:
          - string
          - 'null'
        city:
          type:
          - string
          - 'null'
        stateCode:
          type:
          - string
          - 'null'
        postalCode:
          type:
          - string
          - 'null'
        workPhoneNumber:
          type:
          - string
          - 'null'
        latitude:
          type:
          - string
          - 'null'
        longitude:
          type:
          - string
          - 'null'
      additionalProperties: false
    pol_service_api.Response.Dsp.GetNearbySitesResponse:
      type: object
      properties:
        sites:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/pol_service_api.Models.Dsp.NearbySite'
      additionalProperties: false
    pol_service_api.Models.Dsp.NearbySite:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/pol_service_api.Models.Dsp.Address'
        distance:
          type:
          - string
          - 'null'
        siteId:
          type:
          - string
          - 'null'
        retailSiteConfig:
          $ref: '#/components/schemas/pol_service_api.Models.Dsp.RetailSite'
      additionalProperties: false
    pol_service_api.Models.Dsp.RetailSiteFeature:
      type: object
      properties:
        featureName:
          type:
          - string
          - 'null'
        featureValue:
          type:
          - string
          - 'null'
      additionalProperties: false
    pol_service_api.Models.Dsp.PumpConfig:
      type: object
      properties:
        pumpId:
          type: integer
          format: int32
        fuelGrades:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/pol_service_api.Models.Dsp.FuelGrade'
      additionalProperties: false
    pol_service_api.Models.Dsp.RetailSiteOperatingHour:
      type: object
      properties:
        openingTime:
          type:
          - string
          - 'null'
        closingTime:
          type:
          - string
          - 'null'
        dayOfWeek:
          type:
          - string
          - 'null'
        site24Hours:
          type:
          - string
          - 'null'
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: apiKey
      description: 'JWT Authorization header using the Bearer scheme (Example: ''Bearer 12345abcdef'')'
      name: Authorization
      in: header