/v1/threads/search
Search by Keyword
Search public Threads posts by keyword, up to 10 results per request. Repeat searches over time to find new results. Date filtering is no longer supported.
| Credit cost | Default: 1 credit How charges are determinedCost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns. A call that fails costs 0 credits. A result served from cache costs 0 credits. `default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins. A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true). A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute. |
|---|---|
| Cache support | Not specified in the published contract. |
| Pagination | No explicit pagination metadata in the published contract. Consult the parameters and response fields below. |
Parameters
| Name | Location / required | Schema |
|---|---|---|
queryKeyword to search for | query / required |
|
trimSet true for a trimmed response. | query / optional |
|
Request examples
Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.
cURL
curl --request GET 'https://api.fetchproof.com/v1/threads/search?query=YOUR_QUERY' \
--header 'x-api-key: YOUR_API_KEY'JavaScript
const response = await fetch("https://api.fetchproof.com/v1/threads/search?query=YOUR_QUERY", {
method: 'GET',
headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());Python
import os
import requests
response = requests.get("https://api.fetchproof.com/v1/threads/search?query=YOUR_QUERY",
headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)Responses
200Success. Envelope: success / credits_remaining / credits_charged.
application/json
object
successrequired
boolean
credits_remainingrequired
integer
credits_chargedrequired
integer
postsrequired
array
Array items
object
idrequired
string
pkrequired
string
userrequired
object
friendship_statusrequired
null
pkrequired
string
profile_pic_urlrequired
string
usernamerequired
string
idrequired
string
transparency_labelrequired
null
transparency_productrequired
null
transparency_product_enabledrequired
boolean
is_verifiedrequired
boolean
text_post_app_is_privaterequired
boolean
has_onboarded_to_text_post_apprequired
boolean
full_nameoptional
string
biographyoptional
string
text_app_cover_photo_urloptional
null
text_app_biographyoptional
object
text_fragmentsrequired
object
fragmentsrequired
array
Array items
object
fragment_typerequired
string
link_fragmentrequired
null
mention_fragmentrequired
null
plaintextrequired
string
looking_for_recs_fragmentrequired
null
cashtag_fragmentrequired
null
inline_sticker_fragmentrequired
null
linkified_web_urlrequired
null
linkified_in_app_urlrequired
null
styling_inforequired
null
interop_messaging_user_fbidoptional
string
is_meta_ai_botoptional
boolean
hd_profile_pic_versionsoptional
null
text_post_app_infooptional
object
show_header_followrequired
boolean
is_markuprequired
boolean
custom_feed_preview_inforequired
null
link_preview_attachmentrequired
null
linked_inline_mediarequired
null
special_effects_enabled_strrequired
string
text_fragmentsrequired
object
fragmentsrequired
array
Array items
object
fragment_typerequired
string
link_fragmentrequired
null
mention_fragmentrequired
null
plaintextrequired
string
tag_fragmentoptional
null
linkified_web_urlrequired
null
styling_inforequired
null
looking_for_recs_fragmentoptional
null
cashtag_fragmentoptional
null
inline_sticker_fragmentoptional
null
linkified_in_app_urloptional
null
reshare_countrequired
integer
direct_reply_countrequired
integer
repost_countrequired
integer
quote_countrequired
integer
share_inforequired
object
quoted_attachment_author_attribution_allowedrequired
boolean
quoted_attachment_post_unavailablerequired
boolean
quoted_attachment_postrequired
null
quoted_postrequired
null
reposted_postrequired
null
can_quote_attachmentoptional
string
reply_to_authorrequired
null
reply_controlrequired
string
private_reply_partnerrequired
null
self_thread_countoptional
null
tag_headerrequired
null
root_post_authorrequired
null
pinned_post_inforequired
object
is_pinned_to_parent_postrequired
boolean
is_pinned_to_profilerequired
boolean
related_trends_inforequired
null
is_replyrequired
boolean
is_post_unavailablerequired
boolean
post_unavailable_reasonoptional
null
hush_inforequired
null
platform_podcast_episode_infooptional
null
platform_podcast_infooptional
null
link_preview_responseoptional
null
community_emoji_update_attachment_infooptional
null
community_champion_card_attachment_infooptional
null
community_founding_member_card_attachment_infooptional
null
gen_ai_reply_bot_on_media_deny_reasonoptional
string
idoptional
string
best_of_threads_attachment_infooptional
null
is_ghost_postoptional
boolean
self_thread_infooptional
null
is_spoiler_mediaoptional
boolean
reply_approval_infooptional
object
pending_reply_statusrequired
null
pending_reply_countrequired
null
ignored_reply_countrequired
null
tappable_elementsoptional
array
attachment_tombstone_infooptional
null
is_pinchedoptional
boolean
ghost_post_exp_time_msoptional
null
ghost_post_approximate_like_count_stroptional
null
ghost_post_reply_typeoptional
null
ghost_post_approximate_reply_count_stroptional
null
profile_update_attachment_infooptional
null
community_voting_progress_attachment_infooptional
null
snippet_attachment_infooptional
null
game_score_share_infooptional
null
public_view_count_card_attachment_infooptional
null
algo_tweaks_infooptional
null
can_replyoptional
boolean
system_status_messageoptional
null
community_badgeoptional
null
author_context_pilloptional
null
is_liked_by_root_authoroptional
boolean
post_tombstone_infooptional
null
best_of_threads_infooptional
null
is_paid_partnershipoptional
boolean
audiooptional
null
captionrequired
object
textrequired
string
pkrequired
string
has_translationrequired
null
can_translateoptional
null
text_translationoptional
null
caption_is_editedoptional
boolean
transcription_dataoptional
null
carousel_mediaoptional
array
Array items
object
accessibility_captionrequired
null
giphy_media_inforequired
null
has_audiorequired
boolean
is_dash_eligiblerequired
integer
video_dash_manifestrequired
string
image_versions2required
object
candidatesrequired
array
Array items
object
urlrequired
string
heightrequired
integer
widthrequired
integer
original_heightrequired
integer
original_widthrequired
integer
video_versionsrequired
array
Array items
object
typerequired
integer
urlrequired
string
__typenamerequired
string
usertagsrequired
null
number_of_qualitiesrequired
integer
text_app_music_inforequired
null
userrequired
object
pkrequired
string
idrequired
string
text_post_app_inforequired
object
share_inforequired
object
quoted_postrequired
null
tappable_elementsrequired
array
idrequired
string
ultra_carousel_card_typerequired
null
media_typerequired
integer
pkrequired
string
idrequired
string
coderequired
string
fbidrequired
string
coderequired
string
image_versions2optional
object
candidatesrequired
array
Array items
object
urlrequired
string
heightrequired
integer
widthrequired
integer
original_heightoptional
integer
original_widthoptional
integer
accessibility_captionoptional
null
video_versionsoptional
array
Array items
object
typerequired
integer
urlrequired
string
has_audiooptional
boolean
media_typeoptional
integer
caption_add_onoptional
null
giphy_media_infooptional
null
media_overlay_infooptional
null
sharing_friction_infooptional
object
should_have_sharing_frictionrequired
boolean
sharing_friction_payloadrequired
null
like_countrequired
integer
metaPlaceoptional
null
meta_placeoptional
null
gen_ai_detection_methodoptional
object
detection_methodrequired
string
taken_atrequired
integer
organic_tracking_tokenoptional
string
logging_info_tokenoptional
string
like_and_view_counts_disabledoptional
boolean
strong_id__optional
string
context__optional
object
idrequired
string
use_raw_logging_info_tokenrequired
boolean
logging_info_tokenrequired
string
usertagsoptional
null
is_dash_eligibleoptional
integer
number_of_qualitiesoptional
integer
video_dash_manifestoptional
string
text_app_music_infooptional
null
__isXDTTextAppMediaInterfaceoptional
string
has_viewer_savedoptional
null
text_app_glimmer_post_infooptional
null
original_lang_for_translationsoptional
null
ai_label_infooptional
null
injectedoptional
null
permalinkoptional
string
canonical_urloptional
null
fbidoptional
string
audienceoptional
null
detected_languageoptional
null
source_typeoptional
null
has_high_risk_gen_ai_inform_treatmentoptional
null
triage_commentsoptional
object
count_up_torequired
integer
urloptional
string