Skip to main content
While our standard geo-targeting and session control parameters cover most use cases, we offer a set of advanced parameters for users who need maximum control over their requests. These parameters are appended to your proxy’s username just like the others.

DNS Resolution (-dns) (Coming Soon)

This parameter controls where the Domain Name System (DNS) lookup for your target website is performed. By default, it’s done on the final exit node for maximum anonymity.

Parameter Options

  • -dns-remote (Default)
    • Behavior: The DNS request to resolve the target’s IP address (e.g., google.com -> 142.250.180.78) is made from the final residential/mobile IP.
    • Pros: Highest level of anonymity. The target website sees both the connection and the DNS lookup coming from the same residential IP.
    • Cons: Can be slightly slower in some cases.
    • Example Username: ...-my-scraper-country-us-dns-remote
  • -dns-local
    • Behavior: The DNS request is performed by our central proxy gateway servers. The connection to the target is then made from the final residential IP.
    • Pros: Can sometimes be faster as our gateway servers use highly optimized DNS resolvers.
    • Cons: Less anonymous. An advanced target could theoretically see a DNS lookup from a datacenter IP and a connection from a residential IP, which might be a red flag.
    • Example Username: ...-my-scraper-country-us-dns-local
Recommendation: Stick with the default -dns-remote unless you have a specific reason to prioritize speed over anonymity and have tested that -dns-local is indeed faster for your target.

Correlation Tag (-tag)

This is a powerful debugging tool for developers running a large number of asynchronous requests. It allows you to “tag” a request and get that same tag back in the response, making it easy to match requests with their corresponding responses.

How it Works

  1. You add a unique identifier to your request’s username using the -tag parameter.
  2. Our proxy gateway receives the request, processes it, and adds a special HTTP header to the response it sends back to you.

Parameter Details

  • Format: -tag-[your_custom_string]
  • Value: Any alphanumeric string. We recommend using an ID that is meaningful to your system (e.g., a task ID, a user ID, a URL ID).
  • Example Username: ...-my-scraper-tag-task123_url456
  • Resulting Response Header: When you receive the response in your code, it will contain a header like this:
    X-2extract-Tag: task123_url456
    

Use Case: Debugging Failed Requests

Imagine you’ve sent 10,000 requests in parallel and 50 have failed. Without a correlation tag, it’s hard to know which ones to retry. With -tag: Your code can read the X-2extract-Tag from every successful response. By comparing the list of sent tags with the list of received tags, you can instantly identify the 50 tags that correspond to the failed requests and put them back in the queue.
# A simplified example of how you might use the tag
import requests

sent_tags = {'task_01', 'task_02', 'task_03'}
successful_tags = set()

for tag in sent_tags:
    username = f"your_base_username-tag-{tag}"
    # ... construct proxy string ...

    try:
        response = requests.get("https://target.com", proxies=proxies, timeout=10)

        # Check if our header is present in the response
        if 'X-2extract-Tag' in response.headers:
            successful_tags.add(response.headers['X-2extract-Tag'])

    except requests.exceptions.RequestException:
        print(f"Request with tag {tag} failed!")

failed_tags = sent_tags - successful_tags
print(f"Tags to retry: {failed_tags}")
I