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

# Perform ISP/ASN Targeting

> Execute an ASN level geo-targeting request using proxy credentials.

### How It Works

* It allows creating a proxy targeting a certain ASN of an ISP.
* The `-asn-<ASN_NUMBER>` flag should be appended after specifying the country that the ASN belongs to.
* Refer to our [Geo-Locations List](https://docs.geonode.com/reference/obtaining-targeting-codes#/) to find information on available locations to target.

### Request Format

* **Country**: Specify the country using `-country-<country_code>`
* **ASN**: Add ASN filtering using `-asn-<ASN_NUMBER>`
* **IP Type**: Choose between residential, datacenter, or mix using `-type-<type_of_ip>`

###



## OpenAPI

````yaml api-reference/ref/isp-targeting.yaml get /
openapi: 3.0.3
info:
  title: Geonode Proxy ASN Targeting API
  version: 1.0.0
  description: >-
    This API allows users to perform **ASN-based targeting** through Geonode's
    proxy service.
servers: []
security: []
paths:
  /:
    get:
      summary: Perform ISP/ASN Targeting
      description: >-
        Execute an ASN level geo-targeting request using proxy credentials.


        ### How It Works


        * It allows creating a proxy targeting a certain ASN of an ISP.

        * The `-asn-<ASN_NUMBER>` flag should be appended after specifying the
        country that the ASN belongs to.

        * Refer to our [Geo-Locations
        List](https://docs.geonode.com/reference/obtaining-targeting-codes#/) to
        find information on available locations to target.


        ### Request Format


        * **Country**: Specify the country using `-country-<country_code>`

        * **ASN**: Add ASN filtering using `-asn-<ASN_NUMBER>`

        * **IP Type**: Choose between residential, datacenter, or mix using
        `-type-<type_of_ip>`


        ###
      responses:
        '200':
          description: Successful response providing detailed IP geolocation information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: >-
                      Indicates whether the request was successful (e.g.,
                      'success').
                  continent:
                    type: string
                    description: The continent where the IP is located (e.g., 'Europe').
                  continentCode:
                    type: string
                    description: The continent code (e.g., 'EU' for Europe).
                  country:
                    type: string
                    description: The country where the IP is registered (e.g., 'Russia').
                  countryCode:
                    type: string
                    description: >-
                      The country code in ISO 3166-1 alpha-2 format (e.g.,
                      'RU').
                  region:
                    type: string
                    description: The regional subdivision (state/province) of the country.
                  regionName:
                    type: string
                    description: The full name of the region.
                  city:
                    type: string
                    description: The city associated with the IP address.
                  district:
                    type: string
                    description: The district or subdivision of the city.
                  zip:
                    type: string
                    description: The postal or ZIP code of the location.
                  lat:
                    type: number
                    format: float
                    description: Latitude coordinate of the location.
                  lon:
                    type: number
                    format: float
                    description: Longitude coordinate of the location.
                  timezone:
                    type: string
                    description: Time zone in which the IP is located.
                  offset:
                    type: integer
                    description: Time offset from UTC in seconds.
                  currency:
                    type: string
                    description: Local currency used in the country.
                  isp:
                    type: string
                    description: The name of the Internet Service Provider (ISP).
                  org:
                    type: string
                    description: The name of the organization associated with the IP.
                  as:
                    type: string
                    description: The Autonomous System (AS) number and name.
                  asname:
                    type: string
                    description: The full Autonomous System (AS) name.
                  mobile:
                    type: boolean
                    description: Indicates whether the IP is from a mobile network.
                  proxy:
                    type: boolean
                    description: Indicates whether the IP is being used as a proxy.
                  hosting:
                    type: boolean
                    description: >-
                      Indicates whether the IP belongs to a hosting provider or
                      data center.
                  query:
                    type: string
                    description: The IP address queried in the request.
              example:
                status: success
                continent: Europe
                continentCode: EU
                country: Russia
                countryCode: RU
                region: VGG
                regionName: Volgograd Oblast
                city: Volgograd
                district: ''
                zip: ''
                lat: 48.5044
                lon: 44.5838
                timezone: Europe/Volgograd
                offset: 14400
                currency: RUB
                isp: JSC ER-Telecom Holding Volgograd branch
                org: JSC Columbia-Telecom
                as: AS50543 JSC ER-Telecom Holding
                asname: SARATOV-AS
                mobile: false
                proxy: false
                hosting: false
                query: 83.167.79.185
        '403':
          description: Bad request due to invalid parameters.
        '407':
          description: Unauthorized access due to invalid credentials.
        '500':
          description: Internal server error.
      x-codeSamples:
        - lang: bash
          label: Example curl request
          source: |
            curl -x "http://proxy.geonode.io:<port>" \
                 --user "<geonode_username>-type-<type_of_ip>-country-<country_code>-asn-<ASN_NUMBER>:<geonode_password>" \
                 --url "http://ip-api.com/json"

````