Zapytaj Onet

From Archiveteam
Jump to navigation Jump to search

Zapytaj Onet is a polish Q&A site that started in 2006. Over the years over 30 million questions have been posted with 300 million answers posted by over 4 million users.

On 2026-09-01 it was announced that Zapytaj Onet would become read-only on 2026-09-21 and would shut down on 2026-09-30 deleting all user data.[1]

Site structure

Questions

All questions are identified by a question ID.

URL structure:

  • https://zapytaj.onet.pl/Category/{category_id},{subcategory_id}/2,{question_id},{anything}.html

Example:

  • https://zapytaj.onet.pl/Category/028,009/2,29611610,Jedna_postac_z_ktora_bys_sie_chciala_spotkac_w_realnym_swiecie.html

Question IDs are autoincremented from 1 upwards and can be enumerated.

Each question is assigned to a category ID and a subcategory ID, represented as a 3 digit number with leading zeroes. All available categories are listed in the site header [under 'Kategorie' dropdown].

{anything} is used for slug URLs and can be anything from [a-zA-Z0-9_] .

Only the question id matters for the url to point to the correct question. For example, this url:

  • https://zapytaj.onet.pl/Category/001,001/2,29611610,blah.html

Will return a 302 redirect to the mentioned example URL.

Questions with more than ~50 answers are paginated [page number counting from 0]. Example:

  • https://zapytaj.onet.pl/Category/028,009/2,29611610,Jedna_postac_z_ktora_bys_sie_chciala_spotkac_w_realnym_swiecie.html?page=1

'?page=0' links are present in the HTML but should probably be ignored as it returns the same page as it would be without the parameter.

Polls

Polls are mostly the same as questions, except that they use a comments system instead of answers and have a parameter to show the poll results. Same url and ID structure Example:

  • https://zapytaj.onet.pl/Category/017,008/2,29610032,Ile_bylbys_w_stanie_zaplacic_za_telefon_komorkowy.html
  • https://zapytaj.onet.pl/Category/017,008/2,29610032,Ile_bylbys_w_stanie_zaplacic_za_telefon_komorkowy.html?show_results=true

If there are more than 10 comments, they can be paginated [counting from 0]:

  • https://zapytaj.onet.pl/Category/017,008/2,29610032,Ile_bylbys_w_stanie_zaplacic_za_telefon_komorkowy,comments,{page_num}.html

Example:

  • https://zapytaj.onet.pl/Category/017,008/2,29610032,Ile_bylbys_w_stanie_zaplacic_za_telefon_komorkowy,comments,1.html

'comments,0.html' should be ignored as it returns the same page as it would be without the parameter.

Links with both comments and show_results don't work correctly as they don't show the results and shoult probably be ignored:

  • https://zapytaj.onet.pl/Category/017,008/2,29610032,Ile_bylbys_w_stanie_zaplacic_za_telefon_komorkowy,comments,1.html?show_results=true

Tutorials

Same URL and ID structure as questions, same comments system as polls

List of all tutorials:

  • https://zapytaj.onet.pl/Category/0/Guides/Question,{page_num}.html [paginated from 0]

Same logic as question listing, except that there is no limit of 100 pages. At the time of writing the last page is 605:

  • https://zapytaj.onet.pl/Category/0/Guides/Question,605.html

Quizzes

Same URL and ID scheme as questions. Only possible to view the first question of a quiz without logging in. Example:

  • https://zapytaj.onet.pl/Category/010,011/2,21767690,Nie_wiesz_tego_To_wiedzto.html

List of all quizzes:

  • https://zapytaj.onet.pl/quiz/list.html?page={page_num} [paginated from 0]

Same logic as question listing, except that there is no limit of 100 pages. At the time of writing the last page is 832:

  • https://zapytaj.onet.pl/quiz/list.html?page=832

Users

All users are identified by an autoincremented ID which can be enumerated:

  • https://zapytaj.onet.pl/Profile/user_1.html

As of writing, last user ID seems to be around ~4220079

All profiles contain these URLs [in some cases the links are hidden from the users html]:
List of asked questions:

  • https://zapytaj.onet.pl/Profile/page,question,3943868,{page_num}.html [paginated from 0]

List of created quizzes:

  • https://zapytaj.onet.pl/Profile/page,quiz,3943868,{page_num}.html

List of given answers:

  • https://zapytaj.onet.pl/Profile/page,answer,3943868,3.html?direction=next&last=97922780 [in this example page 3, does not work without 'last' parameter!]

List of given best answers:

  • https://zapytaj.onet.pl/Profile/5,best,3943868,{page_num}.html

List of published tutorials:

  • https://zapytaj.onet.pl/Profile/page,guide,3943868,{page_num}.html

List of comments on profile:

  • https://zapytaj.onet.pl/Profile/3943868/Comments/{page_num}.html [paginated from 0]
  • https://zapytaj.onet.pl/Profile/3943868/Comments/By/User/{page_num}.html

List of gifts received from other users:

  • https://zapytaj.onet.pl/profil/3943868/prezenty.html?page={page_num} [paginated from 1, ?page=1 returns same page as it would be without the param, should probably be ignored]

List of badges/achievements:

  • https://zapytaj.onet.pl/profil/3943868/odznaki.html

Blocked users [users with username 'blocked'] don't have badges.

Users can have descriptions stored as an iframe on r.adres.pl . Example:

  • https://r.adres.pl/3943868.html?xdm_e=https%3A%2F%2Fzapytaj.onet.pl&xdm_c=default8256&xdm_p=1
  • https://r.adres.pl/{user_id}.html

Clubs

Users can join clubs and ask questions in them.
Example:

  • https://zapytaj.onet.pl/klub/misjazapytaj

List of questions asked in club:

  • https://zapytaj.onet.pl/klub/{club_name}/pytania/lista.html?page={page_num} [paginated from 0]

Comments asked in club:

  • https://zapytaj.onet.pl/klub/{club_name}?comment_page={page_num} [paginated from 0]

List of users belonging to club:

  • https://zapytaj.onet.pl/klub/{club_name}/uzytkownicy.html?page={page_num} [paginated from 1]

List of all questions ever posted in any club:

  • https://zapytaj.onet.pl/kluby/pytania.html?page=3858&max=100

As of writing the last page of the list is 3858

Images CDN

Images uploaded by users are all stored on ocdn.eu . Older images are stored under https://ocdn.eu/zapytaj/MDA_/* in their lossless[?] form. Preview versions are generated using https://zapytaj.onet.pl/image/generate.html?url={image_url} , which returns a redirect to an image stored under https://ocdn.eu/zapytaj-transforms/ . Sample:

  • https://zapytaj.onet.pl/image/generate.html?url=https://ocdn.eu/zapytaj/MDA_/3dd62f1c-b99d-40d0-e1f0-75cdea6df4bc.jpeg&image=large

At some point newer images started being uploaded only to https://ocdn.eu/zapytaj-transforms/* . The URL uses custom base64[?] strings to identify an image. Sample:

  • https://ocdn.eu/zapytaj-transforms/1/H2Ck9kuTURBXy8zZGQ2MmYxYy1iOTlkLTQwZDAtZTFmMC03NWNkZWE2ZGY0YmMuanBlZ5GTAs0EOACBAQI

Original files also don't seem to be available for newer images, only a version with a forced 1080x* resize.

The CDN doesn't seem to be affected by the same rate limits as other pages.

Ignore

  • https://zapytaj.onet.pl/report-notice/* - used for user reporting
  • https://zapytaj.onet.pl/img/_logoBorder_.gif?* - tracking pixel

Interaction, requires logging in:

  • https://zapytaj.onet.pl/klub/*/zapytaj.html
  • https://zapytaj.onet.pl/klub/*/quiz/create.html
  • https://zapytaj.onet.pl/klub/*/zabawy-quizowe/create.html
  • https://zapytaj.onet.pl/Profile/Friends/*
  • https://zapytaj.onet.pl/Profile/Clubs/*
  • https://zapytaj.onet.pl/Category/\d{3},\d{3}/AddVote,*

Rate limits

The site seems to use custom bot protection, that returns a 504 status code if it suspects bad behavior. It seems however that it might be skipped just by waiting for a few seconds before making another request [requires further testing].

At ~10 req/s the site starts temporary blocking all further requests with 429 status code. 5 req/s seems to be ok

References