XING is the professional network of the German-speaking market, 21 million members and a job board, and it publishes more structured data to a logged-out client than its bigger rival does. On 28 September 2026 we fetched it twenty-two times through residential exits in Germany, Austria and the United States. A public company page returned 2,514 words to a plain HTTP client, byte-identical from Germany and Austria: follower count, headcount band, ten dated news posts, twelve job ads with cities and named employees. A member profile returned 679 words and a complete Person JSON-LD block with every role and its start date. Rendering the company page cost 1,511,542 bytes, 3.8 times the plain fetch, for 394 extra words of interface.
On this keyword, "proxy" is a company, a job title and a Korean brokerage
Search for XING proxies from Germany and Google returns XING: rank one is the XING company page of a firm called Proxy GmbH, rank four is a XING job ad for a "Specialist Proxy Voting Services" role at a Swiss bank, rank seven is XING’s own home page. Around them sit two vendor listicles for German proxies, one vendor page selling XING proxies by the IP, a data-protection explainer and a Reddit thread about proxy farming in a video game. The autocomplete box is empty for the head term.
The intent that exists is under "xing scraper", which completes to github, job scraper, scraping and crawler, and under "xing api", where six of eleven suggestions are about XING and the other five ("ls xing api", "xing api dll", "ls 증권 xing api") are the trading API of a Korean securities firm that happens to share the name. Ignore those. The people arriving here want company data, job data and, more carefully, profile data from the DACH market, and they want to know what XING serves without a login. It serves a lot, and the numbers follow.
A company page is 2,514 words of structured data over plain HTTP
We fetched xing.com/pages/xing, the company page of XING itself, as a plain HTTP client and as a full browser from three countries.
| Exit | Plain HTTP words | Plain HTTP bytes | Rendered words | Rendered bytes | Rendered title |
|---|---|---|---|---|---|
| Germany | 2,514 | 400,755 | 2,908 | 1,511,542 | Informationen und Neuigkeiten |
| Austria | 2,514 | 400,755 | 2,918 | 1,396,753 | Informationen und Neuigkeiten |
| United States | 2,514 | 400,847 | 2,900 | 1,408,619 | Information and Updates |
Six passes, one page. The plain response is the same 2,514 words from all three exits, with 92 bytes of variance between Europe and the US, and it carries the whole company card: 13,079 followers, a headcount band of 201 to 500, the "about us" text, ten dated news posts back to March 2024 with their first paragraphs, twelve open positions with city and country and posting age, an employees block ("See all 225 employees") naming four with their titles, the head office address in Hamburg with phone, fax and a contact email, and the canonical link. The Austrian fetch returned the identical 400,755 bytes as the German one.
The browser adds 394 words and a million bytes. Rendered from Germany the page cost 1,511,542 bytes and 15.3 seconds for 2,908 words; the extra is the expanded navigation, the cookie dialogue and the "contact persons" widget, which in the plain response says it is having problems and asks you to reload. No follower, employee or job data appeared in the rendered pass that the plain HTML did not already carry.
The language follows the header, not the exit
The one thing that changed across the six passes is the language of the interface, and it changed for a reason worth knowing. The plain HTTP client sends no Accept-Language header, and XING answered it in English from Germany, Austria and the United States alike: "Information and Updates" in the title, "followers" and "employees" in the body. The browser sends a language header, and XING answered it in German from the German and Austrian exits ("Informationen und Neuigkeiten", "Follower", "Mitarbeitende") and in English from the American one.
So on XING the exit country does not choose the locale; the header does, and the country only matters when a header is present. That is the opposite of Facebook and Strava, where the IP alone rewrote the labels. For a parser it is good news: send no Accept-Language, or send one fixed value, and every response comes back in the same language and the same number format regardless of which country the pool is exiting from. Geo targeting on XING buys nothing for reading, and the German and Austrian responses were the same bytes.
A profile is 679 words and a complete Person block
Member profiles are public by default on XING, and they are server-rendered with structured data. xing.com/profile/Lars_Hinrichs, the profile of the network’s founder, returned 212,162 bytes and 679 words over plain HTTP: name, headline, city, a skills list, the full professional timeline with durations and company descriptions, seven past positions, three languages with CEFR levels, and a "Looking for a different Lars Hinrichs?" disambiguation block listing three namesakes with their titles and cities. Underneath sits a JSON-LD Person block that repeats all of it in machine form:
{ "@type": "Person", "name": "Lars Hinrichs",
"jobTitle": "Founder & Executive Geek",
"workLocation": { "address": { "addressCountry": "de", "addressLocality": "Hamburg" } },
"worksFor": [ { "@type": "EmployeeRole", "name": "Member of the Supersisory Board",
"startDate": "2013-10", "worksFor": { "name": "Deutsche Telekom AG" } }, ... ],
"alumniOf": [ ... 7 roles with startDate and endDate ... ] }
Four current roles with start dates, seven past ones with start and end, the employer and its city for each. That is more career structure than most networks expose to anyone, and it is the reason the next section matters more here than on any other platform in this series.
Job ads are the same shape. The ad the SERP surfaced returned 353,868 bytes with a JobPosting block carrying title, HTML description, datePosted, validThrough, industry, employment type, the hiring organisation with its XING page URL and logo, and the location down to canton and country, plus a field the block does not have and the page does: a XING salary estimate of CHF 106,000 to 123,000. Job data on XING is a plain-HTTP job.
What robots.txt closes, and the one line about personal data
xing.com/robots.txt is 5,547 bytes and it closes the searches, not the pages. Everyone is refused on /people/search/, /search/, /jobs/search/, /publicsearch/, the GraphQL and internal API paths, the ads paths, user images, and roughly 190 single-character prefixes under /pages/, which is a list of Chinese-script spam page names the platform would rather nobody index. Two crawlers are refused everywhere: one generic crawler and "pimeyes.com crawler", a face-search engine. Then a block that says who the platform treats differently:
User-agent: GPTBot
User-agent: GPTUser
User-agent: ClaudeBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
Allow: /jobs/search/
The AI crawlers and assistants are allowed onto the job search that every other client is kept out of. Read that with the rest of the file: XING wants its jobs found, including by assistants, wants its company and profile pages indexed, and does not want anyone enumerating people through search. There is no data API to fall back on: dev.xing.com today offers two plugins, a share button and a login button, and nothing that returns a profile or a company.
The line, then, is this. A XING profile is a name, an employer, a location and a career history, which is personal data under the GDPR wherever you store it, and the German and Austrian supervisory authorities are among the most active in Europe. Read company pages and job ads for market research, recruiting analytics and employer monitoring; read a profile when you have a lawful basis for that person’s data; do not enumerate people through search, which robots.txt refuses to everyone, and do not build a people database from profiles. No proxy changes any of that.
What a gigabyte buys on XING
Nothing in twenty-two fetches looked at the address: every page answered a rotating residential exit with a 200 on the first attempt from three countries, and the only page that did not exist answered with XING’s own 404 in 1,130 bytes. The cost driver is bytes, and the arithmetic below uses residential proxies on the Basic line at $0.80/GB, counting a gigabyte as 10^9 bytes.
| Request | Bytes | Requests per GB | Cost per request |
|---|---|---|---|
| Company page, plain HTTP | 400,755 | 2,495 | $0.00032 |
| Company page, rendered | 1,511,542 | 662 | $0.00121 |
| Member profile, plain HTTP | 212,162 | 4,713 | $0.00017 |
| Job ad, plain HTTP | 353,868 | 2,826 | $0.00028 |
Put a real job through it. Monitoring 100,000 company pages a month over plain HTTP is 40 GB and about $32; the same pages rendered are 151 GB and about $121, for interface. One hundred thousand job ads are 35 GB and about $28, each with a JobPosting block and a salary estimate. The rendered route is the one to strike out of the budget: 3.8 times the bytes and 4 times the seconds for 394 words of chrome. If you are sizing a pool before you buy, our note on how much proxy data you need does the same arithmetic in the other direction.
The setting that works on XING
- Network: residential proxies, Basic line, $0.80/GB, rotating. Twenty-two fetches from three countries met no address-level obstacle on company, profile or job pages; the pool is for throughput. Mobile at $2.30/GB and ISP at $2.50/IP per month buy nothing we could measure here.
- Fetch mode: plain HTTP (
engine: fetch), never rendered. The company page returns 2,514 words in 400,755 bytes, the profile 679 words with a Person block in 212,162 bytes, the job ad a JobPosting block in 353,868 bytes; rendering returns 394 extra words of interface for 1,511,542 bytes. - Country: none required. Germany and Austria returned identical 400,755-byte pages and the US 400,847; the language follows the Accept-Language header, not the exit, so send none or one fixed value and every response parses the same way.
- When the proxy is not enough: there is no XING collector in our catalogue, and there is no XING data API. The web scraping API without rendering returns each company, profile or job page as clean Markdown or JSON from $0.0002 per page, retries and rotation included, and failed requests are never billed. For the same fields on the larger network, the LinkedIn company collector and the LinkedIn jobs collector return structured rows per delivered result.
- Free tier: every account gets $2 of free API usage per month, which is 10,000 XING pages through the scraping API before you pay anything.
Read company pages and job ads over plain HTTP, take the Person and JobPosting blocks from the JSON-LD, send a fixed language header, skip the browser, and stay out of people search. That is the whole configuration. For the larger network with the same public-profile question and a harder answer, see LinkedIn; for the platform in this series where the head tag carried everything, see Instagram.