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

# Scrape a web page with JS and proxy



## OpenAPI

````yaml openapi.json post /api/v1/scrape_js_with_proxy
openapi: 3.1.0
info:
  title: API Documentation
  summary: 'OasRails: Automatic Interactive API Documentation for Rails'
  description: >+
    # FetchSERP API


    This API provides endpoints for retrieving search engine results, analyzing
    keyword and domain performance, scraping web content, and conducting SEO
    audits. It is designed to help developers access valuable SEO and SERP data
    programmatically.


    ## Authentication


    All API endpoints require Bearer token authentication.



    ## Rate Limiting


    The API has a rate limit of 600 requests per minute per API key. If you
    exceed this limit, you will receive a 429 status code.



    ## Available Resources


    - Get Backlinks : Get backlinks for a given domain

    - Get Domain Emails : Retrieve emails from a given domain

    - Get Domain Info : Get domain info including DNS records, WHOIS data, SSL
    certificates, and technology stack

    - Get Keywords search volume : Get search volume for given keywords

    - Get Keywords suggestions : Get keyword suggestions based on a url or a
    list of keywords

    - Get Long-tail Keywords Generator : Generate long-tail keywords for a given
    keyword

    - Get Page Indexation Check : Check if a domain is indexed for a given
    keyword

    - Get Domain Ranking : Get domain ranking for a given keyword

    - Get Web Page Scraping : Scrape a web page without JS

    - Get Domain Scraping : Scrape a domain

    - Post Web Page Scraping : Scrape a web page with custom JS

    - Post Web Page Scraping with Proxy : Scrape a web page with JS and proxy

    - Get Moz Domain Analysis : Get Moz domain analysis data

    - GET Search engine results : Get search engine results

    - GET Search engine results AI : Get search engine results with AI overview
    and AI mode response

    - GET Search engine results html : Get search engine results html content

    - GET Search engine results JS : Get search engine results with JS rendering

    - GET Search engine results text : Get search engine results text content

    - Get User : Get user information including api credit

    - Get Web Page AI Analysis : Analyze a web page with AI

    - Get SEO Analysis : Get SEO analysis for a given url


    For more information, contact contact@fetchserp.com

  termsOfService: ''
  contact:
    name: Support
    url: https://fetchserp.com
    email: contact@fetchserp.com
  license:
    name: GPL 3.0
    url: https://www.gnu.org/licenses/gpl-3.0.html#license-text
  version: 1.0.0
servers:
  - url: https://www.fetchserp.com
    description: Production
security:
  - bearer: []
tags:
  - name: Users
    description: Manage the `amazing` Users table.
paths:
  /api/v1/scrape_js_with_proxy:
    post:
      tags:
        - Api
      summary: Scrape a web page with JS and proxy
      operationId: create_api_v1_scrape_js_with_proxy
      parameters:
        - $ref: '#/components/parameters/bd66bf6c59f2f48d143fad774489d32e'
        - $ref: '#/components/parameters/3d2464dd753a190140e7dfe7c4d637fa'
        - $ref: '#/components/parameters/b6918c860b4721b55ce38c237c9fa7e1'
      requestBody:
        $ref: '#/components/requestBodies/7b031da719659464320b83f2080a9c19'
      responses:
        '200':
          $ref: '#/components/responses/9e5e49b0ee44e586f9901da135af60a8'
        '401':
          $ref: '#/components/responses/bec4955108cf4d0aec9e886a00cd9880'
        '403':
          $ref: '#/components/responses/a75c147fb027bc0c2cde1d6978128aa3'
        '422':
          $ref: '#/components/responses/40595cb8a14c081a5a80892067b03f58'
        '500':
          $ref: '#/components/responses/9543814cf6d734596d03c61c560fcc05'
      security:
        - bearer: []
components:
  parameters:
    bd66bf6c59f2f48d143fad774489d32e:
      name: url
      in: query
      description: The url to scrap
      required: true
      schema:
        type: string
      style: form
    3d2464dd753a190140e7dfe7c4d637fa:
      name: country
      in: query
      description: The country to use for the proxy
      required: true
      schema:
        type: string
      style: form
    b6918c860b4721b55ce38c237c9fa7e1:
      name: js_script
      in: query
      description: The javascript code to execute on the page
      required: false
      schema:
        type: string
      style: form
  requestBodies:
    7b031da719659464320b83f2080a9c19:
      description: The payload to send
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/de0b0f0356db9da97e216bb8fde78f1a'
          examples:
            an_example_payload:
              $ref: '#/components/examples/65d0eccb6e55c4c034fa4fba3c6a7527'
      required: true
  responses:
    9e5e49b0ee44e586f9901da135af60a8:
      description: success
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/70d4db71598d568797192360bfc6386e'
    bec4955108cf4d0aec9e886a00cd9880:
      description: Validation errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ab7f8e96ffb786cb211cda6678d34532'
    a75c147fb027bc0c2cde1d6978128aa3:
      description: >-
        You are not allowed to access this resource. You do not have the
        necessary permissions.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/654dac096abf7f8a11eec3e814989da7'
    40595cb8a14c081a5a80892067b03f58:
      description: Validation errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ab7f8e96ffb786cb211cda6678d34532'
    9543814cf6d734596d03c61c560fcc05:
      description: Validation errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/435c07a5c6b7754326b753df2f09dae3'
  schemas:
    de0b0f0356db9da97e216bb8fde78f1a:
      type: object
      properties:
        url:
          type: string
        js_script:
          type: string
    70d4db71598d568797192360bfc6386e:
      type: object
      properties:
        data:
          type: object
          properties:
            results:
              type: object
              properties:
                h1:
                  type: string
                content:
                  type: string
    ab7f8e96ffb786cb211cda6678d34532:
      type: object
      properties:
        error:
          type: string
    654dac096abf7f8a11eec3e814989da7:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
      required:
        - success
    435c07a5c6b7754326b753df2f09dae3:
      type: object
      properties:
        status:
          type: integer
        error:
          type: string
  examples:
    65d0eccb6e55c4c034fa4fba3c6a7527:
      summary: An example payload
      value:
        url: https://fetchserp.com
        js_script: >-
          return { h1: document.querySelector('h1')?.innerText, content:
          document.body.innerText }
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        A bearer token that will be supplied within an `Authorization` header as
        `bearer <token>`.

````