Alibaba RFQ Scraper avatar

Alibaba RFQ Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Alibaba RFQ Scraper

Alibaba RFQ Scraper

Extracts public Alibaba sourcing RFQ metadata with direct HTTP, robots-aware fail-closed access, and no buyer contact or quote-submission fields.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

What does Alibaba RFQ Scraper do?

Alibaba RFQ Scraper searches public buying requests (RFQs) on Alibaba Sourcing and saves one dataset row for each validated request. It supports optional keyword and country query values, bounded list-page collection, and optional enrichment from public RFQ detail pages.

The Actor makes ordinary public HTTP requests and follows Alibaba's robots.txt rules. It does not sign in, submit quotations, use private APIs, or collect buyer contact details. A blocked or empty run produces no fabricated RFQ rows.

Alibaba's current access rules can allow the default list while disallowing keyword searches, country searches, later pages, or details. In that situation, use the available list results; changing limits does not make a disallowed page accessible.

Why use Alibaba RFQ Scraper?

Use the Actor to review public product demand, compare buyer requirements, monitor RFQ listings, or collect a bounded research sample. Apify can schedule runs and provide dataset downloads, API access, run history, and integrations with other services.

Set maxItems and maxPages to bound a run. Enable details when you need the full public description, category, posting date, remaining time, specification labels, or visible PDF links that Alibaba exposes on detail pages. A requested detail page can still be unavailable or disallowed; the Actor retains the list record and marks the run partial when an attempted page cannot be collected usefully.

What data can Alibaba RFQ Scraper extract?

Each row contains a public Alibaba RFQ business record. Alibaba may omit any optional value. The full JSON example is illustrative and does not represent a verified live result.

{
"rfqId": "1234567890",
"subject": "Bulk reusable stainless steel water bottles",
"description": "Please quote for 5,000 reusable bottles.\nMaterial: Stainless steel\nCapacity: 750 ml",
"category": {
"id": "12345",
"name": "Home & Garden"
},
"postedAt": "2026-09-30",
"timeRemaining": "5 days",
"specifications": {
"Material": [
"Stainless steel"
],
"Capacity": [
"750 ml"
]
},
"buyer": {
"country": "Canada",
"countryCode": "CA"
},
"quantity": {
"value": "5000",
"unit": "pieces"
},
"opened": {
"relative": "2 days ago"
},
"quotes": {
"extraCount": 8,
"leftCount": 12,
"rfqExtraCount": 3,
"rfqLeftCount": 9,
"discountCost": 5,
"originalCost": 10
},
"quality": {
"starLevel": 4,
"starMax": 5,
"rfqLevel": "industrySelected"
},
"imageUrl": "https://sc04.alicdn.com/kf/illustrative-rfq-image.jpg",
"tags": [
"Experienced buyer",
"Typically replies"
],
"hasAnnexes": true,
"detailUrl": "https://sourcing.alibaba.com/rfq_detail.htm?p=illustrative-only",
"annexes": [
{
"url": "https://www.alibaba.com/rfq/attachments/illustrative-specification.pdf",
"name": "Product specification"
}
]
}
FieldTypeRequired?Meaning
rfqIdTextRequiredAlibaba identifier for the buying request.
subjectTextRequiredRFQ title shown on the list or detail page.
descriptionTextOptionalFull public request text when available. Newlines are preserved; a detail page may provide more text than the list page.
categoryObjectOptionalPublic id and name for the RFQ category, when exposed. Both nested values are text.
postedAtText (date)OptionalPublic RFQ posting date in ISO date form when available.
timeRemainingTextOptionalRemaining time text shown on the public RFQ.
specificationsObjectOptionalSource specification labels mapped to arrays of text values. Labels are kept as keys and repeated values are retained.
buyerObjectOptionalPublic location fields: country (text) and, when exposed, countryCode (text). Contact fields are not collected.
quantityObjectOptionalvalue (text or number) and unit (text). Either nested value may be absent.
openedObjectOptionalPublic relative opening-time text when shown.
quotesObjectOptionalNumeric public counts extraCount, leftCount, rfqExtraCount, and rfqLeftCount, plus numeric discountCost and originalCost values when shown.
qualityObjectOptionalNumeric starLevel and starMax, and the public rfqLevel badge code when shown.
imageUrlURL textOptionalPublic RFQ image link.
tagsArray of textOptionalPublic RFQ labels exposed by Alibaba.
hasAnnexesBooleanOptionalWhether the public page indicates that the RFQ has annexes. This does not mean a downloadable public PDF is available.
detailUrlURL textOptionalPublic Alibaba detail page for the RFQ.
annexesArray of objectsOptionalVisible public PDF links found on a fetched detail page. Each object has a required url (URL text) and an optional visible name (text).

Only rfqId and subject are required for a dataset row. Optional fields that Alibaba does not expose are omitted. The example includes every public field and nested field documented above. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

How to scrape Alibaba RFQs

  1. Open the Actor's Input tab.
  2. Enter a keyword or country, or paste an eligible Alibaba RFQ list URL. Choose your item and page limits.
  3. Turn on Fetch RFQ details only when you need public detail-page information and visible PDF links.
  4. Click Start. When the run finishes, open Dataset to view or download the RFQ rows. Open Output summary to see the run status and acknowledged row count.

How much will it cost to scrape Alibaba RFQs?

The Actor does not set a fixed price. Apify charges depend on your account plan and the compute and storage used by each run. More requested pages and items increase public page requests; detail enrichment can add a request for each RFQ that has a usable detail link. The per-request timeout also affects how long a slow response can hold compute. Keep the limits low while exploring and check the run's usage details in Apify Console.

Input

All eight input fields are optional; unknown fields are rejected. Defaults below apply when a value is omitted. Text fields accept Unicode text with the stated character limits and reject blank, non-string, or control-character values.

Search settings

FieldTypeRequired?DefaultDescription
keywordTextOptionalNoneAdds a product or buying-request keyword to the search. Maximum 200 Unicode characters.
countryTextOptionalNoneFilters by buyer country. A two-letter code such as US is sent to Alibaba's country filter and checked against each candidate's public country fields; a full country name is matched locally against visible buyer-country text. Maximum 100 Unicode characters.
searchUrlURL textOptionalAlibaba's public RFQ list URLStarts from an HTTPS RFQ list page on sourcing.alibaba.com. Accepted paths are /rfq/rfqSearchList.htm, /rfq/rfq_search_list.htm, and /rfq_search_list.htm. Credentials, ports, fragments, raw whitespace, control characters, and malformed percent-encoding are rejected. Supported query fields are SearchText or searchText, country, page, fsb, IndexArea, categoryIds, and tracelog; duplicates and aliases are rejected. Maximum 2,000 characters.

When searchUrl is supplied, a provided keyword replaces the SearchText or searchText value; a provided country replaces the country value. Other supported URL fields remain available. The Actor follows the website's visible next-page links. If searchUrl is omitted, it starts at Alibaba's public RFQ list page.

Limits

FieldTypeRequired?DefaultDescription
maxItemsIntegerOptional20Maximum unique RFQ rows to save across the run. Minimum 1, maximum 200. RFQs are deduplicated by Alibaba RFQ ID, keeping the first occurrence.
maxPagesIntegerOptional1Maximum number of public RFQ list pages requested. Minimum 1, maximum 20.

Reaching maxItems is normal completion. Pages are processed in source order by following an observed next-page link, stopping when the item limit is reached or maxPages is reached. A two-letter country code is sent to Alibaba's public country filter and checked against each candidate's country fields; a full country name is matched locally against visible buyer-country text. Results cover only the pages this run collects.

Details

FieldTypeRequired?DefaultDescription
includeDetailsBooleanOptionalfalseRequests a public RFQ detail page when the list record exposes an eligible detail URL.
includeAnnexesBooleanOptionaltrueKeeps visible public PDF links found on fetched detail pages. It has no effect when includeDetails is false.

The Actor retains a list record if its optional detail request is unavailable. A failed or unhelpful detail request makes a run partial when at least one row was saved. Alibaba's indication that an RFQ has annexes does not guarantee a public PDF link.

Request timing

FieldTypeRequired?DefaultDescription
timeoutSecsIntegerOptional30 secondsMaximum wait for each public page request. Minimum 5, maximum 120 seconds.

Example inputs

Search by keyword with a small result limit:

{
"keyword": "stainless steel water bottle",
"maxItems": 5
}

Filter for the United States and request more list pages. Alibaba's country filter accepts a two-letter code; use US for the United States:

{
"keyword": "reusable food containers",
"country": "US",
"maxItems": 30,
"maxPages": 4
}

Start from an Alibaba RFQ list URL:

{
"searchUrl": "https://sourcing.alibaba.com/rfq_search_list.htm?searchText=packaging&fsb=y&IndexArea=rfq_en&categoryIds=",
"maxItems": 15,
"maxPages": 3
}

Keep list-page information only:

{
"keyword": "cotton tote bags",
"maxItems": 10,
"includeDetails": false,
"includeAnnexes": false
}

Output

The dataset contains one validated public RFQ business row per saved request. A run succeeds only after at least one dataset write is acknowledged. OUTPUT_SUMMARY is a separate key-value-store record with exactly three fields: status, itemsStored, and isPartial. SUCCEEDED means at least one RFQ row was saved; FAILED means none were saved. A later collection failure can leave a successful run marked partial.

Summary fieldTypeMeaning
statusTextSUCCEEDED after one or more acknowledged RFQ rows; otherwise FAILED.
itemsStoredIntegerNumber of RFQ dataset writes acknowledged during the run.
isPartialBooleantrue when collection or requested enrichment failed after at least one row was saved.

Completed run:

{
"status": "SUCCEEDED",
"itemsStored": 5,
"isPartial": false
}

Some results saved before a later failure:

{
"status": "SUCCEEDED",
"itemsStored": 3,
"isPartial": true
}

No RFQ rows saved:

{
"status": "FAILED",
"itemsStored": 0,
"isPartial": false
}

Tips and advanced options

  • Begin with a small maxItems value and raise maxPages when you need a wider sample.
  • Fetch details only when you need public detail-page information. Detail pages and query URLs can be disallowed by Alibaba's current robots.txt rules or blocked by the source; the Actor does not try to bypass those restrictions.
  • Use a longer timeoutSecs only when public responses need more time. The setting applies to each public page request.
  • An empty or blocked run has zero saved rows and a FAILED summary. Run logs can help distinguish access problems from a search that returned no supported RFQs.

FAQ, support, and responsible use

Why did my run save no rows?

The query may have no supported public results, Alibaba may have blocked the request, or robots.txt may disallow the requested URL. Review the run log and OUTPUT_SUMMARY. The Actor reports a failed run when no real RFQ row was saved.

Where can I get help?

Use the Actor's Issues tab for bugs or feature requests. Include a run ID and a short description when possible. The API tab shows how to start runs programmatically.

Is this Actor affiliated with Alibaba?

No. This Actor is independent and is not affiliated with Alibaba. Use it in line with Alibaba's terms, its public access rules, applicable rate limits, and local law. It collects public business-request information and does not request buyer email addresses, phone numbers, account information, or quotation-submission data. Public records could still contain personal information; use the data only for a legitimate purpose and consult qualified counsel when needed.