# X Search Hashtag API (https://www.socialcrawl.dev/platforms/twitter/search-hashtag) > Returns X posts that carry one hashtag, for tracking a tag or a campaign. The tag is searched on /v1/twitter/search/tweets and every row is checked: a post is kept only when the hashtag itself is in its text (`#tractor` keeps `#Tractor` and leaves out `#tractorlife` and the bare word). Each row in `data.items` is exactly the row the named search endpoint returns, with its `post` and `computed` blocks, plus `match_kind` (`hashtag`). `sort` is latest (default) or top. `since` and `until` are sent to X as date operators. Send `data.next_cursor` back as `cursor` for the next page; it is null when every search has run out. `data.legs` reports each search: its endpoint, status, rows returned and kept, credits and `request_id`. `data.excluded` counts the rows left out (`unmatched`, `self`, `duplicate`, `outside_window`). Each page is one /v1/twitter/search/tweets page at its own price, 1 credit. TL;DR: `GET /v1/twitter/search/hashtag` costs Metered, 0-1 credits: each call reads one page of /v1/twitter/search/tweets (1 credit), each billed at that endpoint's own price exactly as a direct call is. A page that found nothing or failed costs nothing, and a page served from cache is free. A page is billed when it returned rows, even if none of them carried the hashtag; data.legs shows each page's charge and data.excluded what was left out. and returns SocialCrawl's unified JSON schema. Single x-api-key auth, 100 free credits on signup. ## Parameters | Parameter | Required | Description | | --- | --- | --- | | `hashtag` | yes | One hashtag, with or without the #: letters, digits and _, no spaces. | | `cursor` | no | data.next_cursor from the previous response, sent back verbatim for the next page. | | `since` | no | Only posts published on or after this date, YYYY-MM-DD (UTC). | | `until` | no | Only posts published on or before this date, YYYY-MM-DD (UTC); that whole day is included. | | `sort` | no | latest (default) for the newest posts first, top for the most popular. (latest \| top) | ## Code example ```bash curl -G "https://www.socialcrawl.dev/v1/twitter/search/hashtag" \ --data-urlencode "hashtag=farmer" \ -H "x-api-key: sc_YOUR_API_KEY" ``` ## FAQ ### What does the X Search Hashtag API return? Returns X posts that carry one hashtag, checked row by row, with full text, counts, media, author and time, plus what each search returned and what was left out. The response uses the same JSON envelope as every SocialCrawl endpoint, with the data, credits_used and request_id fields. ### When should I use the X Search Hashtag endpoint? Use it to track a hashtag or campaign on X without typing # into a keyword search; sort picks latest or top and since/until bound the dates. ### How much does the X Search Hashtag API cost? The price depends on the request, from 0 to 1 credits per call. Every new account gets 100 free credits. Credits for failed or empty calls are refunded automatically, and there is no subscription. ### What parameters does the X Search Hashtag API need? The one required parameter is hashtag (one hashtag, with or without the #: letters, digits and _, no spaces). It also accepts 4 optional parameters, all listed on this page. ### How do I call the X Search Hashtag API? Send a GET request to https://www.socialcrawl.dev/v1/twitter/search/hashtag?hashtag=farmer with your API key in the x-api-key header. An Authorization: Bearer header works too. See the full X API: https://www.socialcrawl.dev/platforms/twitter ## Pricing - Standard endpoints: 1 credit per call - Advanced endpoints: 5 credits per call - Premium endpoints: 10 credits per call - 100 free credits on signup, no credit card required. Cached responses cost 0 credits. Credit packs never expire. - Full pricing: https://www.socialcrawl.dev/pricing ## Explore with AI Questions this API answers, phrased for an AI assistant: - What does the SocialCrawl X Search Hashtag API return? - How do I get X Search Hashtag data with the SocialCrawl API?